波斯马BOSSMA Information Technology

限流的非常规用途 – 缓解抢购压力

发布时间:2021年12月3日 / 分类:Architecture, DOTNET / 评论

这两年因为疫情,节假日都不怎么外出了,以前每逢节假日都要提前一个月或者半个月抢火车票,人太多的时候会把12306整崩溃。当时很多技术人员指点江山,激扬想法,粪土当年铁科院。

限流的非正式用途 – 解决重复提交问题

发布时间:2021年12月2日 / 分类:Architecture, DOTNET / 评论

在业务应用程序开发中,经常遇到用户重复提交的问题。比如有一个报名的表单,如果用户不小心连续点击了提交按钮多次,数据库中就可能产生多条报名记录。

服务限流惩罚是怎么一回事

发布时间:2021年12月1日 / 分类:Architecture, DOTNET / 评论

最近经常看到某某主播被直播平台限流惩罚,平台给主播的流量变少,甚至直接没有流量了。这篇文章要说的是后端服务的限流惩罚,和这个主播被限流惩罚有点相似之处,又有些不同。

多租户系统中如何实现分别限流

发布时间:2021年11月30日 / 分类:Architecture, DOTNET / 评论

限流是后端服务开发中经常要集成的一个功能,对于防范系统因压力过大导致崩溃特别有用。在多租户系统中,限流对于限制单个租户使用的资源量也特别有用,这篇文章就来一探究竟。

如何使用数组实现滑动窗口

发布时间:2021年11月29日 / 分类:Architecture, DOTNET / 评论

学过操作系统的同学可能比较了解,在操作系统中很多地方使用了环形队列,而环形队列是用数组实现的;滑动窗口可以理解为环形队列的一个特例,每次窗口滑动时,队列弹出一个,然后再进入一个。

.NET6运行时动态更新限流阈值

发布时间:2021年11月16日 / 分类:ASP.NET, DOTNET / 评论

前段时间还有用户问怎么在程序执行过程中动态更改限流的阈值,比如原来限流100/s,现在服务性能更好了,要改成限流300/s。FireflySoft.RateLimit底层是支持的,通过IAlgorithm.UpdateRules或者UpdateRulesAsync即可实现。

树莓派使用Golang+MQ135检测室内空气质量

发布时间:2021年9月5日 / 分类:树莓派 / 评论

MQ135是一个比较便宜的空气质量传感器,可以用在家庭以及工业场所中。树莓派是一个小巧但很强大的卡片电脑,基于Linux,同时提供了很多硬件接口,方便开发出各种电子产品。

Golang在Linux系统中实现微秒级延迟

发布时间:2021年8月25日 / 分类:Go / 评论

在程序中延迟或者等待一段时间一般可以使用Sleep函数实现,但是因为操作系统线程调度的消耗,往往只能做到十几或者数十毫秒的精度,很难达到微秒级,Golang的time.Sleep也是如此。

修改Github中提交人的名字

发布时间:2021年8月3日 / 分类:Tools / 评论

不小心在本地使用了别的名字做了git提交,并push到了Github,这个名字和Github帐号的名字不同,导 […]

ASP.NET Core中使用令牌桶限流

发布时间:2021年4月14日 / 分类:ASP.NET, DOTNET / 评论

在限流时一般会限制每秒或每分钟的请求数,简单点一般会采用计数器算法,这种算法实现相对简单,也很高效,但是无法应对瞬时的突发流量。