案例网站,企业网站网页打开慢,一套公司vi设计多少钱一,兰州做网站的公司dubbo原理
1、RPC原理 一次完整的RPC调用流程#xff08;同步调用#xff0c;异步另说#xff09;如下#xff1a;
1#xff09;服务消费方#xff08;client#xff09;调用以本地调用方式调用服务#xff1b;
2#xff09;client stub接收到调用后负责将方法、参数…dubbo原理
1、RPC原理 一次完整的RPC调用流程同步调用异步另说如下
1服务消费方client调用以本地调用方式调用服务
2client stub接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体
3client stub找到服务地址并将消息发送到服务端
4server stub收到消息后进行解码
5server stub根据解码结果调用本地的服务
6本地服务执行并将结果返回给server stub
7server stub将返回结果打包成消息并发送至消费方
8client stub接收到消息并进行解码
9服务消费方得到最终结果。
RPC框架的目标就是要2~8这些步骤都封装起来这些细节对用户来说是透明的不可见的。2、dubbo原理框架设计 1config 配置层对外配置接口以 ServiceConfig, ReferenceConfig 为中心可以直接初始化配置类也可以通过 spring 解析配置生成配置类。 2proxy 服务代理层服务接口透明代理生成服务的客户端 Stub 和服务器端 Skeleton, 以 ServiceProxy 为中心扩展接口为 ProxyFactory。 3registry 注册中心层封装服务地址的注册与发现以服务 URL 为中心扩展接口为 RegistryFactory, Registry, RegistryService。 4cluster 路由层封装多个提供者的路由及负载均衡并桥接注册中心以 Invoker 为中心扩展接口为 Cluster, Directory, Router, LoadBalance。 5monitor 监控层RPC 调用次数和调用时间监控以 Statistics 为中心扩展接口为 MonitorFactory, Monitor, MonitorService。 6protocol 远程调用层封装 RPC 调用以 Invocation, Result 为中心扩展接口为 Protocol, Invoker, Exporter。 7exchange 信息交换层封装请求响应模式同步转异步以 Request, Response 为中心扩展接口为 Exchanger, ExchangeChannel, ExchangeClient, ExchangeServer。 8transport 网络传输层抽象 mina 和 netty 为统一接口以 Message 为中心扩展接口为 Channel, Transporter, Client, Server, Codec。 9serialize 数据序列化层可复用的一些工具扩展接口为 Serialization, ObjectInput, ObjectOutput, ThreadPool。