Dubbo的简单介绍
Dubbo简介Apache Dubbo 是一款高性能的java rpc框架,其前身是阿里巴巴开源的d,轻量级的框架,可以和spring框架集成。那么什么是rpc呢?rpc的全称为 remote procedure call , 即远程过程调用.举一个例子:假如现在有两台服务器A和B,A的上部署了一个应用,B的上部署了一个应用,如果A的应用要调用B的应用上提供的方法,,由于两个服务器不在一个内存空间
1.Dubbo简介
Apache Dubbo 是一款高性能的java rpc框架,其前身是阿里巴巴开源的,轻量级的框架,
可以和spring框架集成。
那么什么是rpc呢?
rpc的全称为 remote procedure call , 即远程过程调用.
举一个例子:
假如现在有两台服务器A和B,A的上部署了一个应用,B的上部署了一个应用,如果A的应用要调用B的应用上提供的方法,,由于两个服务器不在一个内存空间,不能直接调用,所以需要通过网络来进行调用.
注意: RPC 并不是一个具体的技术,而是指整个网络远程调用过程,java的RPC框架有很多,例如 Dubbo,RMI,Hession。
Dubbo提供了三大核心能力: 1️⃣ 面向接口的远程方法调用 2️⃣ 智能容错和负载均衡 3️⃣ 服务的自动注册和发现
2.下面来简单介绍下dubbo是怎么工作的:
如图:
节点 | 简单说明 |
provider | 服务的提供者 |
consumer | 服务的消费者 |
Registry | 服务的注册与发现中心 |
Monitor | 服务的监控(统计服务的调用次数和调用时间) |
container | 服务的运行容器 |
调用关系说明:
0. 服务的运行容器负责 加载,启动,运行服务的提供者.
1.服务的提供者 向注册与发现中心 注册自己提供的服务
2.服务的消费者 从注册与发现中心 订阅自己需要的服务
3.注册中心返回提供者的地址列表给消费者,如果有变更,注册与发现中心会通知(变更数据给)消费者
4.服务的消费者会从提供者的地址列表里基于负载均衡的算法,选一台进行调用
5.服务的消费者和服务的提供者,在内存中累计调用次数和调用时间,并将这些数据发送给服务的监控.
3.zookeeper(服务注册中心)
不难看出,上面的那幅图中Registry起到了至关重要的作用,Dubbo官方推荐使用zookeeper作为服务的注册中心
3.1 zookeeper介绍
Zookeeper是Apache Hadoop的子项目,是一个树形的目录服务,树形的目录服务就比如自己电脑的目录服务。
zookeeper 树型目录服务:
说明:
1️⃣ 服务的提供者(Provider) 启动时,向 /dubbo/service/provider 写入自己的url地址
2️⃣ 服务的消费者(Consumer)启动时, 向 /dubbo/service/provider 订阅自己需要的url地址,并向/dubbo/service/consumer 写入自己的url地址
3️⃣ 服务的监控者(Monitor)启动时,从/dubbo/service 订阅全部的消费者和提供者的url地址
以上简单的介绍了下dubbo 和 其注册中心 zookeeper.
更多推荐
所有评论(0)