波斯马BOSSMA Information Technology

2021年11月 发布的所有日志

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

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

限流是后端服务开发中经常要集成的一个功能,对于防范系统因压力过大导致崩溃特别有用。在多租户系统中,限流对于限制单个租户使用的资源量也特别有用,这篇文章就来一探究竟。 问题 对于一个多租户系统,某些租户如果使用了过多的资源,很可能会对其它租户造成影响。比...

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

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

在FireflySoft.RateLimit之前的版本中,进程内滑动窗口的实现是基于MemoryCache做的,虽然能够正确的实现滑动窗口的算法逻辑,但是性能比较差,其吞吐量只有其它算法的1/4。性能为何如此之差呢? 滑动窗口的原理 我们先来看下滑动窗口的原理,这里给一张图: 如...

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

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

自FireflySoft.RateLimit发布以来,帮助了不少需要在.net中进行限流处理的用户。前段时间有个开发者发了一个pull request,大意是Redis重启的时候Lua script会丢失,但是程序中还认为它存在,所以就会一直抛出异常,那位同学通过捕捉一个特定异常再reload Lua script的方式解...