标签:Netty 服务 dubbo zookeeper 注册 原理 netty
引言
微服务最核心的注册服务,以前一直用的springcloud,在听了网络视频对dubbo的讲解后加深理解,看了csdn讲解后还原了代码实现。
框架理论
Dubbo 特点:
是一个RPC框架,SOA框架
底层采用mina,netty长连接进行传输!典型的provider和cusomer模式!
有服务治理功能,提供服务的注册和发现!用zookeeper实现注册中心!
原理:
启动时候服务端会把所有接口注册到注册中心,并且订阅configurators,服务消费端订阅provide,configurators,routers,订阅变更时,zk会推送providers,configuators,routers,启动时注册长连接,进行通讯!proveider和provider启动后,后台启动定时器,发送统计数据到monitor(监控中心)!提供各种容错机制和负载均衡策略!!
图解:
盗图,zookeeper 作为registry
实现步骤
组件:
Zookeeper、netty 。
(Zookeeper容器,映射类和服务, 简易版完全可以用Map<类名,List<服务>>替代,此处用到zookeeper的持久化节点、临时节点)
步骤:
- 安装zookeeper ,java程序中建立连接。
- 服务注册,将对象名绑定到服务地址。com.dubbo.Icsdn -> 127.0.0.1:8888
- 消费端通过classname请求zookeeper返回服务地址IP:port
- 消费端Netty请求ip:port/classname/method
- 服务端netty回复classname/method
代码实现:
https://github.com/heshan3662/dubbo-Netty
标签:Netty,服务,dubbo,zookeeper,注册,原理,netty 来源: https://www.cnblogs.com/heshana/p/13824194.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。