Dubbo中负载均衡实现高并发

本文介绍如何在Dubbo框架中实现服务的高并发和负载均衡,详细解释了四种负载均衡策略:随机、轮询、最少活跃调用数和一致性,并展示了如何在服务提供者项目中配置轮询策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要实现高并发,就要实现服务器的负载均衡,即让服务消费者能够通过轮询或其他策略调用服务提供者上实现的服务。

Dubbo实现了四种负载均衡策略:

  1. 随机(默认,权重)
  2. 轮询
  3. 最少活跃调用数
  4. 一致性

在之前的服务提供者项目的yml配置文件中加入:

dubbo:
	provider:
	    loadbalance: roundrobin # 轮询方式

因为这里在实验时需要运行多个服务提供者实例,所以需要做以下设置:
在这里插入图片描述
不断地更改dubbo的protocol的端口,运行多个实例,这里,我开放三个服务提供者,端口号分别为12345、12346和12347。
在这里插入图片描述
在管理后台可以看到多个服务提供者都已经注册到zookeeper中。
在这里插入图片描述
为了区分调用的服务,这里我们让服务提供者输出一下自己开启服务的端口,因为我们是部署到一台计算机的不同端口上了。

package com.funt.hello.dubbo.service.user.provider.api.impl;

import com.funt.hello.dubbo.service.user.api.UserService;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.beans.factory.annotation.Value;

@Service(version = "1.0.0")
public class UserServiceImpl implements UserService {

    @Value("${dubbo.protocol.port}")
    private String port;

    @Override
    public String sayHi() {
        return "hello dubbo " + port;
    }
}

然后重新启动项目,可以看到输出的端口信息,可以看到 ,轮询策略下,端口每次都不同,服务是轮询调用的。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值