[发明专利]一种基于zookeeper和netty的分布式远程调用方法有效
| 申请号: | 201810093687.6 | 申请日: | 2018-01-31 |
| 公开(公告)号: | CN108234670B | 公开(公告)日: | 2021-01-15 |
| 发明(设计)人: | 付君辉;李宏伟;代宏伟 | 申请(专利权)人: | 北京中安智达科技有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
| 代理公司: | 北京高文律师事务所 11359 | 代理人: | 徐江华;费峥红 |
| 地址: | 100085 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 zookeeper netty 分布式 远程 调用 方法 | ||
1.一种基于zookeeper和netty的分布式远程调用方法,其特征在于:包括用于提供远程服务并供客户端调用的服务端模块,以及对本地调用进行封装的客户端模块,所述服务端模块包括服务封装,对服务进行封装,提供唯一的访问点,并且进行服务发布和服务注册;
所述客户端模块包括动态代理,通过调用代理类获取服务端的业务实现;包括服务查找,通过请求调用的接口及方法从Zookeeper中获取注册服务的IP和端口,选择权重值最小的服务,同时将该权重设置成相同服务集群中的最大值;还包括服务调用,通过Netty发起客户端请求,绑定处理类流水线,封装请求对象并序列化后发给服务端模块,服务端模块响应数据反序列化后传给业务逻辑;
服务发布是通过Netty发布服务,启动Netty服务,开启select轮询机制,监听接收、读、写事件,并处理流水线业务;包括(1)接收请求数据进行反序列化得到请求对象;(2)根据请求中的参数,从服务封装程序中找到对应的业务实现类,采用反射技术调用指定方法,获取返回结果;(3)将业务调用结果封装到响应对象中并序列化后发往客户端;
集群信息包括每个服务的ip、端口及权重;
所述客户端模块向服务端模块的请求过程包括以下步骤,
C1.请求类发起请求,调用客户端代理类获取服务,并调用服务提供的方法;
C2.客户端封装请求对象,通过动态代理机制,获取到调用的服务、方法及参数信息,并将其封装成请求对象;
C3.获取服务地址,通过C2中获取的服务信息,从Zookeeper集群中获取注册服务的IP、端口及权重值,如果服务端是一个集群,Zookeeper返回的注册服务地址应该也有多个,所以返回一个服务地址集合;
C4.客户端接收服务器地址集合;
C5.获取权重值最小的服务,将C3中获取服务的权重值进行比较,获取值最小的服务;
C6.修改服务的权重值,修改Zookeeper集群中的服务,即C4中获取的权重值最小的服务信息,将其权重值加上C3中服务地址集合的大小,将其权重设置成提供相同服务集群中的最大值;
C7.向服务端发起请求,从C4获取到服务端IP和端口后,通过Netty发送客户端封装的请求对象;
C8.服务端获取请求对象,接收请求数据进行反序列化得到请求对象;
C9.调用服务及方法,根据请求中的参数,进行反射,调用对应服务及方法,获取返回结果;
C10.封装响应对象,将业务调用结果封装到响应对象中并序列化后发往客户端;
C11.反序列化响应对象,客户端将服务端响应的数据反序列化,获取响应对象;
C12.将响应数据返回给请求类。
2.根据权利要求1所述的基于zookeeper和netty的分布式远程调用方法,其特征在于:所述服务端模块的服务封装,采用工厂模式,将所有的服务封装到一个Map集合中,并采用单例模式,提供唯一的服务访问点。
3.根据权利要求1所述的基于zookeeper和netty的分布式远程调用方法,其特征在于:服务注册包括(1)根据业务不同,在Zookeeper中注册不同的目录结构;(2)每个业务下注册节点,创建临时自动编号节点,并对服务启动监听,如果服务挂掉,客户端不再调用此服务,同时新增和修改节点时客户端也能发现;(3)每个节点包含提供相同服务的集群信息,客户端查找服务时,要返回权重值最小的节点,当节点被调用时,权重设置成相同服务集群中的最大值。
4.根据权利要求1所述的基于zookeeper和netty的分布式远程调用方法,其特征在于:所述服务端模块根据业务进行分类向Zookeeper注册服务,能够将业务与业务进行解耦。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中安智达科技有限公司,未经北京中安智达科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810093687.6/1.html,转载请声明来源钻瓜专利网。





