最近使用了一个 TinyMapper 对象映射框架,喜欢它的简单。 TinyMapper 文档地址: http://tinymapper.net/ TinyMapper 极其简单,一个静态类即可: TinyMapper.Bind<Person, PersonDto>(); var person = new Person { Id = Guid.NewGuid(), FirstName = "John", LastName = "Doe" }; var personDto = TinyMapper.Map…

2023年7月19日 0条评论 1606点热度 2人点赞 痴者工良 阅读全文

本教程已加入 Istio 系列:https://istio.whuanle.cn 7,认证 本章的内容主要是讲解服务间通讯的安全和集群外部访问内部服务的 jwt token 验证。 Istio 提供两种类型的认证,一种是服务间认证 Peer Authentication,一种是客户端请求认证 Request Authentication。 Peer Authentication Peer authentication 用于服务到服务的认证,在零信任网络中,Envoy 给服务之间的通讯加密,只有服务双方才能看到请求内…

2023年7月9日 0条评论 1558点热度 0人点赞 痴者工良 阅读全文

本教程已加入 Istio 系列:https://istio.whuanle.cn 可观测性 Istio 集成了 Jaeger、Zipkin 和 Skywalking 等链路追踪应用,能够有效地捕获服务网格的结构,展示网络拓扑结构,并分析网格的健康状况。 这一切都得益于 Envoy 代理的实现。由于所有进出流量都需要经过 Envoy 代理,Envoy 可以捕获这些流量记录,并将其推送到相应的链路追踪系统中。这样一来,可以链路追踪系统轻松地监控和分析服务网格内的流量情况。 另外 Istio 还支持 Prometheus…

2023年7月9日 0条评论 2115点热度 1人点赞 痴者工良 阅读全文

本教程已加入 Istio 系列:https://istio.whuanle.cn 5,出入口网关 Istio 可以管理集群的出入口流量,当客户端访问集群内的应用时, Istio 可以将经过 istio-ingressgateway 的流量实现负载均衡和熔断等一系列功能。 可是,如果集群内的一个应用要访问 google.com ,那么我们可以给内部所有请求了 google.com 的流量设置负载均衡吗?答案是可以,Istio 提供了 istio-egressgateway 实现这种功能。因为 Pod 中的容器要访问网…

2023年7月9日 0条评论 1434点热度 0人点赞 痴者工良 阅读全文

Istio 入门(五):访问控制和流量管理 VirtualService 和 DestinationRule VirtualService 与 Service 的关系 Istio 的 VirtualService 和 Kubernetes 的 Service 都是服务治理的组件,但它们有不同的作用和关系。 下面是它们之间的关系和区别: 定义和作用 Kubernetes 的 Service 主要负责服务发现和负载均衡,它为一组运行相同应用的 Pod 提供一个统一的访问入口。 而 Istio 的 VirtualServ…

2023年7月9日 0条评论 1382点热度 0人点赞 痴者工良 阅读全文

Isito 入门(四):可观测性 4, 流量管理 主要演示了使用 Istio Gateway、VirtualService 对外暴露服务的访问地址 ,以及基于 Istio 实现可观察性的 Kiali 组件。让我们回在上一章中部署的 bookinfo 示例已经学习了什么: 使用 Istio Gateway 创建 “站点”; 使用 Istio VistualService 暴露 Kubernetes Service,并指定暴露的路由后缀。 使用 Kiali 收集服务间的指标。 通过快速练习,我们学到了如何在 Istio…

2023年7月9日 0条评论 1586点热度 0人点赞 痴者工良 阅读全文

本教程已加入 Istio 系列:https://istio.whuanle.cn 可观测性 Istio 集成了 Jaeger、Zipkin 和 Skywalking 等链路追踪应用,能够有效地捕获服务网格的结构,展示网络拓扑结构,并分析网格的健康状况。 这一切都得益于 Envoy 代理的实现。由于所有进出流量都需要经过 Envoy 代理,Envoy 可以捕获这些流量记录,并将其推送到相应的链路追踪系统中。这样一来,可以链路追踪系统轻松地监控和分析服务网格内的流量情况。 另外 Istio 还支持 Prometheus…

2023年7月9日 1条评论 1830点热度 0人点赞 痴者工良 阅读全文

本教程已加入 Istio 系列:https://istio.whuanle.cn 3,快速入门 在本章中,我们正式迈入学习 Istio 的第一步。因为 Istio 的知识体系是较为庞大的,因此我们可以先通过本章的入门教程快速了解如何使用 Istio 部署一套微服务,以及 Istio 核心功能的使用方法,了解 Istio 可以为微服务解决什么问题。 在本章中,我们将会学习到如何部署一套微服务、如何使用 Istio 暴露服务到集群外,并且如何使用可观测性组件监测流量和系统指标。 在后面的章节中,笔者会针对每个 Isti…

2023年7月9日 0条评论 1570点热度 0人点赞 痴者工良 阅读全文

本教程已加入 Istio 系列:https://istio.whuanle.cn 2,部署 Istio 在本章中,将会介绍如何在 Kubernetes 中使用 Helm 部署 Istio。 Istio 的安装方式主要有两类,第一类是基于 Kubernetes 原生集群或虚拟机的安装。另一种是基于 Azure、KubeSphere 等公私有云或 Kubernetes 管理平台上的安装。而在本章中介绍的是基于 Kubernetes 的 Helm 安装。 Istio 官网关于这两类部署方式还有很多小细节,读者可根据实际需…

2023年7月9日 0条评论 1422点热度 0人点赞 痴者工良 阅读全文

Jq 是一个轻量级和灵活的命令行 JSON 处理器。 官网: https://jqlang.github.io/jq/ https://jqlang.github.io/jq/manual/ Jq 可以从 JSON 中解析数据以及将数据替换到字段表达式生成新的 Json。 例如一个 JSON: {"foo": 42, "bar": "less interesting data"} 使用 jq 表达式 .foo? 提取数据,结果: 42 提取数组的 JSON [ {"name":"JSON", "good":true…

2023年6月6日 2条评论 2115点热度 1人点赞 痴者工良 阅读全文

本教程已加入 Istio 系列:https://istio.whuanle.cn 1,Istio 概述 🚩聊聊微服务设计 似乎用上 Kubernetes ,就是微服务系统了。 碰到很多人或公司盲目崇拜 Kubernetes ,一直喊着要上 Kubernetes,但是本身既没有技术储备,也没有规划方案。想着上了 Kubernetes 之后,就会变成分布式、高性能、高逼格的微服务系统。 从经验来看,很多公司用上 Kubernetes 之后,并不会显著改善旧系统的缺点,而由于项目中充斥着大量泥球般混乱的代码、随意使用数据…

2023年5月28日 0条评论 1699点热度 4人点赞 痴者工良 阅读全文

Debezium 可以监控以下数据的增量变化: MongoDB MySQL PostgreSQL SQL Server Oracle Db2 Cassandra 然后将增量数据同步到 Kafka。 当数据同步到 Kafka 时,我们可以选择自己研发工具读取 Kafka 的数据,然后从 Kafka 中进行数据清洗。 或者使用官方的 Kafka Connect 工具,它支持同步到 ElasticSearch 等地方。 下面来演示如何部署 Debezium。 部署 Kafka 因为 Debezium 需要将增量数据同步到…

2023年5月26日 1条评论 5153点热度 3人点赞 痴者工良 阅读全文

swagger2tsclient 并不是一个 Vue.js 相关的库,而是一个用于将 Swagger API 定义文件转换为 TypeScript 客户端代码的工具。您可以将生成的 TypeScript 客户端代码与 Vue.js 项目一起使用,以简化与后端 API 的交互。以下是如何在 Vue.js 项目中使用 swagger2tsclient 的步骤: 安装 swagger2tsclient npm 包: npm install -g swagger2tsclient 在 package.json 的 scri…

2023年5月15日 0条评论 1680点热度 1人点赞 痴者工良 阅读全文

Snort 是一款开源的入侵检测和防止系统(IDS/IPS),用于监控网络流量并阻止恶意行为。以下是 Snort 的基本使用方法: 安装 Snort: 对于 Debian/Ubuntu 系统,使用以下命令安装: sudo apt-get update sudo apt-get install snort 对于 CentOS/RHEL 系统,首先安装 EPEL 仓库,然后使用以下命令安装: sudo yum install epel-release sudo yum install snort 配置 Snort: S…

2023年5月12日 0条评论 2191点热度 0人点赞 痴者工良 阅读全文

ClamAV 是一款开源的杀毒软件,用于检测和清除病毒、木马和恶意软件。以下是 ClamAV 的基本使用方法: 安装 ClamAV: 对于 Debian/Ubuntu 系统,使用以下命令安装: sudo apt-get update sudo apt-get install clamav clamav-daemon 对于 CentOS/RHEL 系统,使用以下命令安装: sudo yum install epel-release sudo yum install clamav clamav-update 更新病毒数…

2023年5月12日 0条评论 2522点热度 1人点赞 痴者工良 阅读全文

Fail2ban 是一个用于防止暴力破解的工具,可以监控日志文件,并在发现恶意行为时封锁 IP 地址。以下是 Fail2ban 的基本使用方法: 安装 Fail2ban: 对于 Debian/Ubuntu 系统,使用以下命令安装: sudo apt-get update sudo apt-get install fail2ban 对于 CentOS/RHEL 系统,使用以下命令安装: sudo yum install epel-release sudo yum install fail2ban 配置 Fail2ba…

2023年5月12日 0条评论 2176点热度 0人点赞 痴者工良 阅读全文

基础知识 C# 中又对称加密和非对称加密,其中 RSA 是最常用的非对称加密。 由于 C# 中的加密库,在不同 .NET 版本中改动比较大,因此这里按 .NET 7 以后的版本来说。 首先 RSA 有以下继承关系: Object -> AsymmetricAlgorithm -> RSA -> RSACryptoServiceProvider AsymmetricAlgorithm 是非对称加密统一抽象接口,SymmetricAlgorithm 则是对称加密抽象接口。 非对称加密有公钥私钥组成,其…

2023年4月25日 0条评论 2010点热度 0人点赞 痴者工良 阅读全文

[TOC] 导读 最近一个数据分析朋友需要学习 Hive,刚好我也想学,便利用手头的服务器搭建一个学习环境,但是搭建过程中,发现网上的教程很多过时了,而且部署过程中,很多地方走不通,博主也没有给出对应的说明。花了大力气才从各种资料中完成 Hadoop、Mysql、Hive 三者的部署。 因此,本文记录在 Windows 下部署三者的过程以及如何解决部署过程中出现的问题,减少读者折腾消耗的时间。 Hadoop、Hive 是什么 由于 Hadoop、Hive 都是 Java 编写的程序,因此在 Windows 、Lin…

2023年3月19日 0条评论 1934点热度 0人点赞 痴者工良 阅读全文

介绍 Selenium 官网:https://www.selenium.dev/ Selenium 是功能强大的自动化测试工具集,是支持 Web 浏览器自动化的一系列工具和库的总括项目,一共包括以下三个项目: Selenium WebDriver Selenium IDE Selenium Grid Selenium 的核心是 WebDriver,可以在许多浏览器中交换运行,WebDriver 以原生的方式驱动浏览器,。 WebDriver 架构设计如下: 对每种浏览器编写一个 Driver,如 ChromeDri…

2023年2月20日 0条评论 2396点热度 0人点赞 痴者工良 阅读全文

void Main() { string str = "A-A01A05-A01-01-02"; byte[] data = new byte[16]; var span = data.AsSpan(); ulong l = 0; int index = 1; int count = 0; for (int i = 0; i < str.Length; i++) { var value = HashFind.GetValue(str[i]); if (index <= 10)[......]继续阅读

2023年2月13日 0条评论 2400点热度 3人点赞 痴者工良 阅读全文
1234527