RPC框架
不仅具备RPC访问功能,还具备服务治理功能
2.5.3
2.7.3
Provider 提供者。编写持久层和事务代码
registry:Provider的ip 端口 协议 接口中的方法
consumer,service、controller
monitor:
dubbo支持的协议:
Dubbo协议
RMI协议:优点:jdk自带,缺点偶尔连接失败
Hession协议:
Dubbo支持的注册中心
Zookeeper:优点:支持分布式。缺点:受限于Zookeeper软件的稳定性
Multicast:去中心化,不需要单独的安装软件 缺点:Provider和Consumer和Registry不能跨机房(路由)
Redis:优点:支持集群,性能高 缺点:要求服务器时间同步,否则可能出现集群失败问题
Simple:优点:标准RPC服务,没有兼容问题 缺点:不支持集群
Admin管理界面
dubbo-admin-0.2.0.jar 把 \BOOT-INF\classes中application.properties里面注册中心的ip设置正确
java -jar dubbo-admin-0.2.0.jar运行即可 占用8080端口,不要冲突了
Consumer!!!!!更改在、端口号否则冲突
Dubbo负载均衡
集群:一个内容,部署多次,形成的整体称为集群。集群中每个个体应该部署到不同的服务器上
伪集群:集群中的内容部署到同一台服务器上,通过不同端口区分不同个体
负载均衡是在集群的前提下,当访问整个集群时,集群中每个节点被访问的次数或频率的规则
Dubbo内置了四个负载均衡策略。默认为Random。
1.内置策略
Random
随机。随机访问集群中节点。访问概率和权重有关
RoundRobin
轮询。访问频率和权重有关
权重:占有比例
LeastActive
活跃数相同的随机,不同的活跃数高的放在前面
Consistenthash
一致性Hash。相同参数请求总是发到一个提供者
设置负载均衡
1、@Reference
调用的服务采用的负载均衡
@Reference(loadbalance = "roundrobin")
2、@Service(loadbalance = "random")
@Service(weight = 4)
3、配置文件
provider.loadbalance:random
consumer.loadbalance:random