服务的设计和可用性
常用设计模式
1. 工厂模式
最常见,直接继承接口
2. 单例模式
只有一个实例,懒汉式/饿汉式/线程安全
3. 责任链模式
4. 观察者模式
5. MVC模式
负载均衡算法
1. 轮询策略
2. 哈希策略
流量控制算法
0. 计数器粗暴实现
1. 漏桶算法
2. 令牌桶算法
3. 基于RateLimiter的流速控制,RateLimiter使用的是令牌桶的流控算法
熔断/降级/限流
1. 熔断:当所依赖的对象不稳定时,能够起到快速失败的目的。快速失败后,能够根据一定的算法动态试探所依赖对象是否恢复
2. 降级:降级是指自己的待遇下降了,从RPC调用环节来讲,就是去访问一个本地的伪装者而不是真实的服务
3. 限流:一般开发高并发系统常见的限流有:限制总并发数、限制瞬时并发数、限制时间窗口内的平均速率
浙公网安备 33010602011771号