Dubbo篇

RPC原理和调用过程

1)客户端 RpcClinet 发现服务
2)调用者 Caller 调用服务 RemoteAPI
3)调用服务代理 RpcProxy
4)调用 RpcInvoker
5)调用 RpcConnector 通过 RpcProtocal 对数据进行 encode(序列化)
6)通过网络传输TCP到服务端

7)服务端通过 RpcAcceptor接受到请求数据
8)通过 RpcProtocal 对数据进行 decode(反序列化)
9)调用 RpcProcessor 
10)再调用 RpcInvoker 反射调用 RemoteAPI
11)真正执行API的实现类 RpcServer 完成整个过程的调用

Dubbo工作原理

1)服务端启动 注册节点到注册中心
2)客户端启动 获取注册中心服务节点列表 缓存到本地
3)服务中心服务变动 会更消费端节点列表
4)客户端Rpc调用服务端服务

负载均衡规则

1)随机负载:可以设计权重随机请求不同的服务节点
2)轮询负载:顺序的消费每个请求
3)最少活跃调用数负载:最少获取的节点优先消费新请求
4)一致性Hash负载:通过一致性Hash算法分摊消费请求

你可能感兴趣的:(Dubbo篇)