题外话:今天是1024,工作接近两年的光景,多少还是有一些心得体会的
- 工作中发现表达能力和技术水平一样重要,甚至更重要,有好的想法和解决方案,不能表达好,不会营销自己很吃亏
- 做事能力不只体现在能力学历,更体现在细节和努力做好事情的意愿,很多时候因为觉得做某事心累就不做,但是这种细节可能恰恰是重要的,比如主动做会议记录,严格按照技术规范写文档,积极发掘开源项目用到团队的工程中来
- 有好的想法和理想,但是更要面对现实的开发成本、人力成本、时间排期,不能一味得追求技术上的先进,要的是立足当下,想清楚能做好什么,能把握住什么,面向交付工作,也能避免拖延
流控考虑的特性
- 分布式支持
- 性能
- 降级策略
- 流控算法
- 动态适配能力
- 网络上下游协调能力
常见流控实现
- golang 标准实现
- uber 漏桶算法
- sentiel
- hystrix
- go-redis/redis_rate
推荐阅读
uber 漏桶算法实现
分层令牌桶(Hierarchical token bucket)
https://www.cyhone.com/articles/usage-of-golang-rate/
https://medium.com/criteo-engineering/distributed-rate-limiting-algorithms-a35f7e24783
https://engineering.linecorp.com/en/blog/high-throughput-distributed-rate-limiter/
https://systemsdesign.cloud/SystemDesign/RateLimiter
https://pandaychen.github.io/2020/09/21/A-DISTRIBUTE-GOREDIS-RATELIMITER-ANALYSIS/
https://www.jianshu.com/p/3486877ffb4f
https://www.jianshu.com/p/c5236b74fa3f
https://jishuin.proginn.com/p/763bfbd74a3a
Distributed Rate Limiting in Spex
https://github.com/afex/hystrix-go
Sentinel-go
http://hbchen.com/post/distributed/2019-05-05-rate-limit/
https://mp.weixin.qq.com/s/W23xOOIFYhqpEwHLbUyn5Q