DNS(Dubbo + Nacos + Spring 不是域名解析那个喔)
Dubbo
一. 服务发现
- Dubbo 提供的是一种 Client-Based 的服务发现机制,依赖第三方注册中心组件来协调服务发现过程,支持常用的注册中心如 Nacos、Consul、Zookeeper 等。
- 生产者、消费者和注册中心模式。(类似于rocketmq)
- Dubbo3在性能、可伸缩性、易用性等方面的表现大幅领先于业界大多数主流开源产品。
- Dubbo3 创建了一个平滑迁移方案。(例:消费者只订阅自己依赖的应用)
二、负载均衡
负载均衡策略
| 算法 | 特性 | 备注 |
|---|---|---|
| Weighted Random LoadBalance | 加权随机 | 默认算法,默认权重相同 |
| RoundRobin LoadBalance | 加权轮询 | 借鉴于Nginx的平滑加权轮询算法,默认权重相同 |
| LeastActive LoadBalance | 最少活跃优先 + 加权随机 | 背后是能者多劳的思想 |
| Shortest-Response LoadBalance | 最短响应优先 + 加权随机 | 更加关注响应速度 |
| ConsistentHash LoadBalance | 一致性哈希 | 确定的入参,确定的提供者,适用于有状态请求 |
| P2C LoadBalance | Power of Two Choice | 随机选择两个节点后,继续选择“连接数”较小的那个节点。 |
| Adaptive LoadBalance | 自适应负载均衡 | 在 P2C 算法基础上,选择二者中 load 最小的那个节点 |
- 加权随机和加权轮询对于个别慢的服务器,会存在生产者请求累计。(消费不完)
- 加权策略举例: A(3) B(2) C(1),权重分别为3 2 1,权重和为6;先将最大的减去权重和即A:3-6=-3; 再各自加上其权重为: A(0) B(4) C(2)。
Nacos (Dynamic Naming and Configuration Service 动态命名与配置服务)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 高阶无穷小的博客!