两种基于时间窗口的限流器的简单实现
原文中文,约5100字,阅读约需12分钟。发表于: 。之前开发的一款基于OpenTelemetry的Tracing组件需要使用基于速率限制(Rate Limiting)的跟踪采样策略,本想使用现有的解决方案,比如System.Threading.RateLimiting命名空间下的RateLimiter。大体看了RateLimiter的三种实现(固定窗口、滑动窗口和令牌桶),觉得过于相对复杂了点,代码还涉及到锁,而且提供的功能我也不太需要,于是尝试实...
本文介绍了基于OpenTelemetry的Tracing组件开发的基于速率限制的跟踪采样策略,实现了两种无锁解决方案:滑动时间窗口和固定时间窗口。演示程序成功输出结果。