04-dubbo-负载均衡、组、版本号

本文介绍了Dubbo中的负载均衡策略,包括随机、轮询、活跃数和一致性Hash,并强调了配置权重和负载均衡策略的重要性。此外,详细讲解了如何设置服务分组以实现多客户端并行调用,并阐述了服务版本号的管理,确保不同版本的服务能够并行生效。

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

1、负载均衡设置

2、设置组

3、设置版本号

 


负载均衡设置

1、集群:一个内容、部署多次、整体称为集群。集群中每个个体都应该部署不同的服务器上。IP不同,端口相同。

2、伪集群:集群汇总内容部署在同一台服务器上,遇到不同端口区分不同个体 。 IP相同,端口不同

3、负载均衡是在集群的前提下,当访问整个集群时。集群中每个节点被访问的规则或频率

4、Dubbo内置的负载均衡策略,默认为Random。一共有4种:随机、轮询、活跃数、一致性hash

5、配置权重

@DubboService(loadbalance = "roundrobin")
public class SayInterfaceImpl implements SayInterface {

    @Override
    public String sayHello(String name) {
        System.out.println("访问到了 sayHello 方法");
        return "1111111111111111";
    }
}

6、负载均衡针对的是并发。一个一个访问时串行访问。没有负载均衡

7、负载均衡配置策略(非常重要)

 


设置组

7、默认环境中dubbo的提供者是不分组的。可以指定分组,目的是多客户端并行生效。正常开发中,服务都是要分组的。

8、放服务端进行了分组,则消费端也要进行分组。

服务端:

// 提供者
@DubboService(loadbalance = "roundrobin",group = "first-group")
public class SayInterfaceImpl implements SayInterface {

    @Override
    public String sayHello(String name) {
        System.out.println("访问到了 sayHello 方法");
        return "1111111111111111";
    }
}

客户端:

@Service
public class SayHelloServiceImpl implements SayInterface {


    @DubboReference(group = "first-group")  // 2.2,7 以后使用这个注解
    private SayInterface sayInterface;

    @Override
    public String sayHello(String name) {
        String s = sayInterface.sayHello(name);
        System.out.println(s);
        return s;
    }
}

dubbo://192.168.181.1:20880/com.nuc.service.SayInterface?anyhost=true&application=dubbo-provide&default=true&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=first-group&interface=com.nuc.service.SayInterface&loadbalance=roundrobin&metadata-type=remote&methods=sayHello&pid=8720&release=2.7.8&revision=1.0.0bate&side=provider×tamp=1621348697491&version=1.0.0bate


设置版本号

默认环境中dubbo没有环境版本,我们可以指定版本进行并行服务。服务端和客户端都需要版本号。。。

服务端:

@DubboService(loadbalance = "roundrobin",group = "first-group",version = "1.0.0bate")
public class SayInterfaceImpl implements SayInterface {

    @Override
    public String sayHello(String name) {
        System.out.println("访问到了 sayHello 方法");
        return "1111111111111111";
    }
}

客服端:


@Service
public class SayHelloServiceImpl implements SayInterface {


    @DubboReference(group = "first-group",version = "1.0.0bate")  // 2.2,7 以后使用这个注解
    private SayInterface sayInterface;

    @Override
    public String sayHello(String name) {
        String s = sayInterface.sayHello(name);
        System.out.println(s);
        return s;
    }
}

dubbo://192.168.181.1:20880/com.nuc.service.SayInterface?anyhost=true&application=dubbo-provide&default=true&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=first-group&interface=com.nuc.service.SayInterface&loadbalance=roundrobin&metadata-type=remote&methods=sayHello&pid=8720&release=2.7.8&revision=1.0.0bate&side=provider×tamp=1621348697491&version=1.0.0bate

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值