springcloud使用Dubbo服务间调用时出现依赖循环问题

在启动子服务时出现依赖循环,看dubbo官网文档之后

如此操作后依旧没有解决依赖循环问题,原因在于springboot2.6以后不允许依赖循环调用,于是我又添加了如下

依赖循环问题解决后又出现新问题如图

找寻后分析可能是版本问题,后找到解决方法如下

添加依赖后问题解决,终于顺利使用dubbo,特记问题于此

### Dubbo 负载均衡策略 Dubbo 提供了多种负载均衡算法来分发请求到不同的服务实例,常见的有随机 (random) 和轮询 (roundrobin),这些可以通过配置 `dubbo.provider.loadbalance` 来指定使用的策略[^1]。 对于更复杂的场景,还可以选择最少活跃调用数(leastactive)、一致性哈希(consistenthash)等高级选项。每种方法都有其适用范围: - **Random LoadBalance**: 按权重设定的几率随机选取一台服务器处理请求。 - **RoundRobin LoadBalance**: 默认实现方式,按照循环原则依次分配给各台机器执行任务。 - **LeastActive LoadBalance**: 尽可能把新的请求发送至当前正在处理较少请求数目的节点上去。 - **ConsistentHash LoadBalance**: 根据参数值计算 hash 值决定路由方向,保证相同参数总是映射到同一台物理机上。 ```properties # 设置全局默认负载均衡器为 roundrobin dubbo.provider.loadbalance=roundrobin ``` ### Nacos 注册中心集成与配置 当使用 Nacos 作为注册中心,除了上述提到的基础功能外,还能够享受到智能负载均衡带来的优势——即自动检测并避开不健康的下游节点,从而降低整体响应间并提升系统的吞吐性能[^4]。 为了使 Dubbo 应用能正确连接到 Nacos 并利用其中的服务列表进行寻址操作,则需在项目中引入相应的依赖项,并完成必要的初始化设置工作。具体来说就是在应用启动之前通过修改配置文件的方式指明所要接入的目标地址和服务名称等相关信息。 #### Maven 依赖声明 ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-dubbo-nacos-discovery</artifactId> <version>${latest.version}</version> </dependency> ``` #### application.properties 中定义基本信息 ```properties # 启动类所在包名 spring.application.name=demo-service-provider # nacos server 地址 spring.cloud.nacos.discovery.server-addr=localhost:8848 # dubbo 协议端口,默认会自动生成一个未占用端口号 dubbo.protocol.port=-1 # 显式指定采用哪种负载平衡机制 dubbo.consumer.loadbalance=random ``` 以上就是关于如何配置 Dubbo 的负载均衡策略并与 Nacos 进行对接的一个简单介绍。实际应用场景可能会涉及到更多细节上的调整优化措施,建议参照官方文档进一步学习掌握。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值