波斯马BOSSMA Information Technology

DOTNET 下的日志

钉钉旧版服务端SDK支持异步调用的升级改造

发布时间:2023年9月13日 / 分类:DOTNET / 抢沙发

最近项目中需要对接钉钉,有些钉钉 API 的访问需要使用旧版服务端 SDK 才能搞定,但是这个 SDK 使用的还是 .NET Framework 2.0 框架,不能跨平台部署,也不支持 async\await 的异步操作方法,Nuget 上也有其它用户改造的 .NET Core 版本,但是都不支持异步方法,于是就想自己改...

.NET服务治理之限流中间件-FireflySoft.RateLimit

发布时间:2022年7月4日 / 分类:DOTNET / 抢沙发

概述 FireflySoft.RateLimit自2021年1月发布第一个版本以来,经历了多次升级迭代,目前已经十分稳定,被很多开发者应用到了生产系统中,最新发布的版本是3.0.0。 Github:https://github.com/bosima/FireflySoft.RateLimit码云:https://gitee.com/bosima/FireflySoft.R...

C#实现一个万物皆可排序的队列

发布时间:2022年7月3日 / 分类:DOTNET / 抢沙发

需求 产品中需要向不同的客户推送数据,原来的实现是每条数据产生后就立即向客户推送数据,走的的是HTTP协议。因为每条数据都比较小,而数据生成的频次也比较高,这就会频繁的建立HTTP连接,而且每次HTTP传输中携带的业务数据都很小,对网络的实际利用率不高。希望能够提高...

C#生成putty格式的ppk文件(支持passphrase)

发布时间:2022年6月30日 / 分类:DOTNET, Tools / 抢沙发

背景 2022国家级护网行动即将开启,根据阿里云给出的安全建议,需要将登陆Linux的方式改为密钥对方式。我这里使用的远程工具是自己开发的,能够同时管理Windows和Linux,但是以前不支持密钥对的登陆方式,所以需要改造一下。 护网行动是什么?护网行动从2016年开始,是...

国产化之 .NET Core 操作达梦数据库DM8的两种方式

发布时间:2022年4月19日 / 分类:DataBase, DOTNET / 抢沙发

背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64、龙芯、飞腾、鲲鹏等。考虑到这些基础产品对.NET的支持,最终选择了.NET Core 3.1。 环境 CPU平台:x86-64 / Arm64操作系统:银河麒麟 v4 数据库:DM8....

国产化之银河麒麟.netcore3.1访问https服务的两个问题

发布时间:2022年3月24日 / 分类:DOTNET / 抢沙发

背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64、龙芯、飞腾、鲲鹏等。 考虑到这些基础产品对.NETCore的支持,最终选择了3.1版本。主要原因就是龙芯搞了自研CPU架构,用户量不够大,.NET官方并没有专门针...

ASP.NET Core中使用漏桶算法限流

发布时间:2021年12月11日 / 分类:ASP.NET, DOTNET / 抢沙发

漏桶算法是限流的四大主流算法之一,其应用场景各种资料中介绍的不多,一般都是说应用在网络流量控制中。这里举两个例子: 1、目前家庭上网都会限制一个固定的带宽,比如100M、200M等,一栋楼有很多的用户,那么运营商怎么保证某些用户没有使用过多的带宽,从而影响到别人...

ASP.NET Core中使用滑动窗口限流

发布时间:2021年12月10日 / 分类:ASP.NET, DOTNET / 抢沙发

滑动窗口算法用于应对请求在时间周期中分布不均匀的情况,能够更精确的应对流量变化,比较著名的应用场景就是TCP协议的流量控制,不过今天要说的是服务限流场景中的应用。 算法原理 这里假设业务需要每秒钟限流100次,先来看固定窗口算法的两个问题: 漏检 如下图...

ASP.NET Core中使用固定窗口限流

发布时间:2021年12月10日 / 分类:ASP.NET, DOTNET / 抢沙发

算法原理 固定窗口算法又称计数器算法,是一种简单的限流算法。在单位时间内设定一个阈值和一个计数值,每收到一个请求则计数值加一,如果计数值超过阈值则触发限流,如果达不到则请求正常处理,进入下一个单位时间后,计数值清零,重新累计。 如上图所示,时间单位...

如何使用Redis实现令牌桶算法

发布时间:2021年12月8日 / 分类:Architecture, DOTNET, Redis / 抢沙发

在限流算法中有一种令牌桶算法,该算法可以应对短暂的突发流量,这对于现实环境中流量不怎么均匀的情况特别有用,不会频繁的触发限流,对调用方比较友好。 例如,当前限制10qps,大多数情况下不会超过此数量,但偶尔会达到30qps,然后很快就会恢复正常,假设这种突发流量不...