Dubbo

suaxi
2020-12-28 / 0 评论 / 145 阅读 / 正在检测是否收录...

Dubbo

什么是分布式系统?

分布式系统是若干个独立计算机的集合,这些计算机对用户来说就像是单个系统一样。

RPC

RPC(Remote Produce Call)指远程过程调用,是一种进程间的通信方式。如:有服务器A、服务器B,一个应用部署在A服务器上,数据、函数/方法等在服务器B上,现想通过A的应用调用B的数据,由于两者不在一个内存空间,不能直接调用,需通过网络来表达调用的语义和传达调用的数据。

RPC的两个核心模块:通信、序列化

Dubbo

面向接口的远程方法调用,智能容错和负载均衡,服务自动注册和发现

dubbo-architecture.jpg

注:图片来源Apache Dubbo官网

Provider:暴露服务的服务提供商,服务提供者在启动时,向注册中心注册自己提供的服务

Consumer:调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用

Registry:注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者

Monitor:服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次监控数据到统计中心

0

评论 (0)

取消