在 signalR 中如需获取客户端的连接信息,可以使用 IHttpConnectionFeature 获取客户端通讯的 IP 和端口。 // 获取服务 var feature = Context.Features.Get<IHttpConnectionFeature>(); var httpContext = Context.GetHttpContext(); ArgumentNullException.ThrowIfNull(feature); Argume[......]继续阅读

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

在 ABP 中,默认只有本地 JSON 语言处理,但是在业务上我们可能有好多定制需求。本文介绍如何自己根据 redis 实现一个多语言处理,通过 redis 取得语言信息。 ABP 官方文档:https://docs.abp.io/en/abp/latest/Localization ABP 是这样配置多语言的: services.Configure<AbpLocalizationOptions>(options => { options.Resources .Add<TestResourc…

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

在 .csproj 中使用了中文,导致 Jenkins CICD 的时候报错。 Microsoft.WinFX.targets(439,8): error : Invalid character in the given encoding. 原因在于 MSBuild 或者 dotnet publish 使用的编码集合为 utf8。 保存 .csproj 文件时,要使用 utf-8 bom,里面的字符要使用 utf8。 而 powershell 中默认是 GB2312 编码,所以会导致报错。 另一个问题,由于需求,需…

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

PdfSharp 是一个 .NET 跨平台的 PDF 处理框架,PdfSharp 使用的是 MIT 开源协议,无论是个人还是商业使用均可,且不限制闭源或开源。PdfSharp 由社区维护,无任何收费购买项目。 笔者看中它: 体积轻小, 操作简单, 跨平台,不会出现 System.Drawing 报错, 完全免费,MIT 开源协议 命名空间: using PdfSharp.Drawing; using PdfSharp.Fonts; using PdfSharp.Pdf; using PdfSharp.Snippet…

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

最近使用了一个 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条评论 1652点热度 2人点赞 痴者工良 阅读全文

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2023年7月9日 0条评论 1472点热度 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条评论 2215点热度 1人点赞 痴者工良 阅读全文

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

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

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

2023年5月26日 1条评论 5295点热度 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条评论 1746点热度 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条评论 2277点热度 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条评论 2634点热度 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条评论 2258点热度 0人点赞 痴者工良 阅读全文
1234527