Dubbo的负载均衡
1.集群,分布式,负载均衡概念#
集群:一个内容,部署多次,形成的整体称为集群。集群中每个个体应该部署到不同的服务器上。
伪集群:集群中内容部署到同一台服务器上,通过不同端口区分不同个体。
负载均衡:在集群前提下,当访问整个集群时,集群中每个节点被访问次数或频率的规则。
分布式:一个整体把拆分成不同的独立模块功能分开部署,这些独立模块部署的时候也可以用集群方式部署
2.Dubbo的负载均衡策略#
Random:默认策略,随机。随机访问集群中节点。访问概率和权重有关。
RoundRobin:
轮询。访问频率和权重有关。
权重(weight):占有比例。集群中每个项目部署的服务器的性能可能是不同,性能好的服务器权重应该高一些。
LeastActive:活跃数相同的随机,不同的活跃数高的放前面。基本不用
ConsistentHash:一致性Hash。相同参数请求总是发到一个提供者。基本不用
在调用方设置@Reference
@Reference(loadbalance = "roundrobin") private DemoDubboService demoDubboService;
在服务提供方设置@Service
@Service(loadbalance = "random") //@Service(weight = 4) public class DemoDubboServiceImpl implements DemoDubboService {}
配置文件中全局设置所有provider和consumer的负载均衡效果
dubbo: application: name: dubbo-provider registry: address: zookeeper://127.0.0.1:2181 protocol: port: 20884 provider: loadbalance: random consumer: loadbalance: random
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?