1、负载均衡设置
2、设置组
3、设置版本号
负载均衡设置
1、集群:一个内容、部署多次、整体称为集群。集群中每个个体都应该部署不同的服务器上。IP不同,端口相同。
2、伪集群:集群汇总内容部署在同一台服务器上,遇到不同端口区分不同个体 。 IP相同,端口不同
3、负载均衡是在集群的前提下,当访问整个集群时。集群中每个节点被访问的规则或频率
4、Dubbo内置的负载均衡策略,默认为Random。一共有4种:随机、轮询、活跃数、一致性hash
5、配置权重
@DubboService(loadbalance = "roundrobin")
public class SayInterfaceImpl implements SayInterface {@Overridepublic 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 {@Overridepublic 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;@Overridepublic 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 {@Overridepublic 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;@Overridepublic 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