摘要:在业务应用程序开发中,经常遇到用户重复提交的问题。比如有一个报名的表单,如果用户不小心连续点击了提交按钮多次,数据库中就可能产生多条报名记录。 阅读全文
限流惩罚是怎么一回事
2021-12-01 08:10 by 萤火架构, 阅读(1199) 阅读, 推荐(2) 推荐, 收藏, 编辑
摘要:最近经常看到某某主播被直播平台限流惩罚,平台给主播的流量变少,甚至直接没有流量了。这篇文章要说的是后端服务的限流惩罚,和这个主播被限流惩罚有点相似之处,又有些不同。 阅读全文
多租户系统中如何实现分别限流
2021-11-30 08:12 by 萤火架构, 阅读(784) 阅读, 推荐(0) 推荐, 收藏, 编辑
摘要:限流是后端服务开发中经常要集成的一个功能,对于防范系统因压力过大导致崩溃特别有用。在多租户系统中,限流对于限制单个租户使用的资源量也特别有用,这篇文章就来一探究竟。 阅读全文
如何使用数组实现滑动窗口
2021-11-29 07:30 by 萤火架构, 阅读(568) 阅读, 推荐(0) 推荐, 收藏, 编辑
摘要:学过操作系统的同学可能比较了解,在操作系统中很多地方使用了环形队列,而环形队列是用数组实现的;滑动窗口可以理解为环形队列的一个特例,每次窗口滑动时,队列弹出一个,然后再进入一个。 阅读全文
.NET6运行时动态更新限流阈值
2021-11-17 07:33 by 萤火架构, 阅读(1499) 阅读, 推荐(7) 推荐, 收藏, 编辑
摘要:昨天博客园撑不住流量又崩溃了,很巧我正在编写这篇文章,于是产生一个假想:如果博客园用上我这个限流组件会怎么样呢?前段时间有用户问怎么在程序执行过程中动态更改限流的阈值,比如原来限流100次/s,现在服务扩容了,要改成限流300次/s。FireflySoft.RateLimit是可以搞定这些问题的。 阅读全文
树莓派使用Golang+MQ135检测室内空气质量
2021-09-06 14:23 by 萤火架构, 阅读(947) 阅读, 推荐(0) 推荐, 收藏, 编辑
摘要:MQ135是一个比较便宜的空气质量传感器,可以用在家庭以及工业场所中。树莓派是一个小巧但很强大的卡片电脑,基于Linux,同时提供了很多硬件接口,方便开发出各种电子产品。 阅读全文
Golang在Linux系统中实现微秒级延迟
2021-08-25 23:03 by 萤火架构, 阅读(1020) 阅读, 推荐(0) 推荐, 收藏, 编辑
摘要:在程序中延迟或者等待一段时间一般可以使用Sleep函数实现,但是因为操作系统线程调度的消耗,往往只能做到十几或者数十毫秒的精度,很难达到微秒级,Golang的time.Sleep也是如此。这篇文章将介绍一种Golang在Linux环境中实现微秒级延迟的方法。 阅读全文
ASP.NET Core中使用令牌桶限流
2021-04-15 07:39 by 萤火架构, 阅读(1319) 阅读, 推荐(6) 推荐, 收藏, 编辑
摘要:在限流时一般会限制每秒或每分钟的请求数,简单点一般会采用计数器算法,这种算法实现相对简单,也很高效。但是无法应对瞬时的突发流量,针对这种情况,就是令牌桶算法的用武之地了。 阅读全文
Lazy(Func<T>)的异常缓存问题
2021-04-15 00:00 by 萤火架构, 阅读(187) 阅读, 推荐(0) 推荐, 收藏, 编辑
摘要:Lazy可以提供多线程环境下的安全保障,但是用不好也是会跳到坑里。 阅读全文
Windows版本的OpenVPN Server用户名和密码验证工具
2021-03-05 22:05 by 萤火架构, 阅读(12) 阅读, 推荐(0) 推荐, 收藏, 编辑
摘要:这个工具是为使用OpenVPN时开启用户名和密码验证提供的,并且Server端是在Windows环境部署的。 阅读全文