1. dubbo 是一款高性能的 java RPC (远程服务调用)框架。

2. RPC 框架的性能关键是“序列化”和“网络通信”,dubbo 采用二进制序列化、使用 Socket 而不是 Http 进行网络通信

3. dubbo 的架构

dubbo 笔记

简单解释:服务提供者 、服务消费者 在注册中心进行注册,注册的同时告知注册中心,我提供什么服务,我需要什么服务。注册中心,会将相应服务提供者的地址信息给到消费者,消费者再找到提供者享受服务。

monitor 是监视器,对服务的调用次数和时间进行一个统计。提供者和消费者都会定时发送统计数据给监控中心。

生活举例:淘宝:提供者就是商家,而消费者就是顾客,注册中心则为淘宝平台,监控中心是淘宝数据统计人员(或者理解为网警?)

使用注册中心:

我使用的是 zookeeper 是一个树型的目录服务

默认端口 2181 20880

- 当提供者出现断电等异常停机时,注册中心能自动删除提供者信息
- 当注册中心重启时,能自动恢复注册数据,以及订阅请求
- 当会话过期时,能自动恢复注册数据,以及订阅请求
- 当设置 `<dubbo:registry check="false" />` 时,记录失败注册和订阅请求,后台定时重试
- 可通过 `<dubbo:registry username="admin" password="1234" />` 设置 zookeeper 登录信息
- 可通过 `<dubbo:registry group="dubbo" />` 设置 zookeeper 的根节点,不设置将使用无根树
- 支持 `*` 号通配符 `<dubbo:reference group="*" version="*" />`,可订阅服务的所有分组和所有版本的提供者

Dubbo 的负载均衡(内置4种)

1. RandomLoadBlance  随机 负载均衡,也就是随机选择(dubbo默认的负载均衡策略)

2. RoundRobinLoadBlance  轮询 负载均衡

3. LeastActivelLoadBlance  最少活跃调用数,相同活跃数的随机。 也就是能者多劳(相同的服务,肯定是选择最快的),让慢的 提供者收到更少的请求,因为慢的提供者调用前后的计数差更大

4.ConsistentHashLoadBlance  一致性哈希负载均衡,相同的请求总是落在同一台机器上。(它干熟了,这个活就找他)

dubbo 笔记

dubbo 笔记

dubbo 笔记

dubbo 笔记

check 属性

默认 check = true ,dubbo 会在启动时检查依赖的服务是否可用,不可用则抛出异常,阻止spring初始化完成,可用更早的发现问题

dubbo 笔记

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。