Dubbo
什么是分布式系统?
分布式系统是若干个独立计算机的集合,这些计算机对用户来说就像是单个系统一样。
RPC
RPC(Remote Produce Call)指远程过程调用,是一种进程间的通信方式。如:有服务器A、服务器B,一个应用部署在A服务器上,数据、函数/方法等在服务器B上,现想通过A的应用调用B的数据,由于两者不在一个内存空间,不能直接调用,需通过网络来表达调用的语义和传达调用的数据。
RPC的两个核心模块:通信、序列化
Dubbo
面向接口的远程方法调用,智能容错和负载均衡,服务自动注册和发现
注:图片来源Apache Dubbo官网
Provider:暴露服务的服务提供商,服务提供者在启动时,向注册中心注册自己提供的服务
Consumer:调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用
Registry:注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者
Monitor:服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次监控数据到统计中心
评论 (0)