发明名称 一种可进行服务治理与语言调用的轻量级RPC框架
摘要 本发明提供了一种可进行服务治理与语言调用的轻量级RPC框架,包括注册中心、服务器及客户端,所述注册中心与所述服务器及客户端连接,所述服务器与所述客户端连接,所述服务器向注册中心注册声明所提供的服务,通过ServerBootstrap暴露策略向所述注册中心以服务规范的路径暴露自己,所述客户端进行初始化并向所述注册中心订阅指定服务,所述注册中心将服务列表返回所述服务器,所述客户端与所述注册中心返回信息的服务器建立连接,进行RPC服务调用;该可进行服务治理与语言调用的轻量级RPC框架能高度适配公司环境,可进行服务治理与跨语言调用,轻量部署和业务代码解耦、解决微服务难于管理和难于跨语言调用的问题。
申请公布号 CN106411933A 申请公布日期 2017.02.15
申请号 CN201611003898.3 申请日期 2016.11.15
申请人 深圳市彬讯科技有限公司 发明人 王国彬;胡鹏;张华杰;黄亮
分类号 H04L29/06(2006.01)I;H04L29/08(2006.01)I;G06F9/54(2006.01)I;H04L12/24(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 代理人
主权项 一种可进行服务治理与语言调用的轻量级RPC框架,其特征在于:包括注册中心、服务器及客户端,所述注册中心与所述服务器及客户端连接,所述服务器与所述客户端连接,所述服务器向注册中心注册声明所提供的服务,通过ServerBootstrap暴露策略向所述注册中心以服务规范的路径暴露自己,所述客户端进行初始化并向所述注册中心订阅指定服务,所述注册中心将服务列表返回所述服务器,所述客户端与所述注册中心返回信息的服务器建立连接,进行RPC服务调用;所述服务器包括第一传输模块、第一序列化模块、第一协议模块及服务模块,所述客户端包括第二传输模块、第二序列化模块、集群模块、第二协议模块及引用模块;所述引用模块引入API,调用所述客户端的API接口并将调用的数据发送给所述第二协议模块;所述第二协议模块接收所述引用模块调用的数据,并进行调用的代理,所述第二协议模块将代理的服务数据发送所述集群模块;所述集群模块根据负载均衡策略选取所述集群模块持有的可用的服务实例进行集群;所述集群模块保持所述客户端与与服务器进行通信,所述集群模块将服务实例的数据发送所述第二序列化模块,维护服务实例的连接;所述第二序列化模块根据所述客户端与所述服务器双方通信制定好的协议进行JAVA对象到JSON的序列化,所述第二序列化模块序列化完成后将序列化的服务数据发送给所述第二传输模块;所述第二传输模块进行I/O的操作向所述服务器的第一传输模块发送服务数据包;所述第一传输模块接收所述第二传输模块发送的服务数据并将接收的数据发送给所述第一序列化模块;所述第一序列化模块根据所述客户端与所述服务器双方通信制定好的协议进行JSON到JAVA对象的解序列化,所述第一序列化模块解序列化完成后将解序列化的服务数据发送给所述第一协议模块;所述第一协议模块将解序列化的服务数据发送所述服务模块;所述服务模块将服务实例的数据返回发送给所述第一协议模块;所述第一协议模块将服务数据发送给所述第一序列化模块;所述第一序列化模块根据所述客户端与所述服务器双方通信制定好的协议进行JAVA到JSON对象的序列化,所述第一序列化模块序列化完成后将序列化的服务数据发送给所述第一传输模块;所述第一传输模块进行O/I的操作向所述服务器的第二传输模块发送服务数据包;所述第二传输模块接收所述第一传输模块发送的服务数据并将接收的数据发送给所述第二序列化模块;所述第二序列化模块根据所述客户端与所述服务器双方通信制定好的协议进行JSON对象到JAVA的解序列化,所述第二序列化模块解序列化完成后将序列化的服务数据发送给所述集群模块;所述集群模块根据负载均衡策略选取所述集群模块持有的可用的服务实例进行集群并将集群完成的服务数据发送所述第二协议模块;所述第二协议模块将集群的服务数据发送所述引用模块;所述客户端的引用模块引入API,调用所述客户端的API接口。
地址 518000 广东省深圳市南山区高新区中区科研路9号比克科技大厦10楼1001-A