首页 > Java > Java基础 > 自建RPC都需要哪些功能?

自建RPC都需要哪些功能?

大鹏
发布: 2021-06-01 16:14:38
原创
1647 人浏览过

现在已经有很多完善的开源rpc架构了,如果要理解程序如何能高效稳定运行,理解rpc建立的过程很有必要,自建过程大致可以分成两部分,通信部分和协调部分。

通信部分有服务端和客户端,服务端监听约定好的端口,等待连接,客户端建立与服务端的链接。为了信息高效传输,数据需要序列化之后传输,接收后反序列化。

有了以上两个需求,总结一些服务端和客户端的功能。

服务端功能可以有:监听端口、响应连接请求、接收数据包、解析数据包、调用响应方法、组装请求处理结果数据包、发送结果数据包;客户端功能可以有:建立连接、组装数据、发送数据包、接收处理结果数据包、解析数据包返回结果。

到此一个简单的rpc功能就完成了。

作为生产级别的产品,只有核心通信功能是不够用的,还需要协调管理功能,让功能稳定高效运行。

需要连接池加快链接建立的速度,集群部署的消费者需要负载均衡,集群中的节点需要路由管理,需要时刻维护服务状态,剔除错误节点,需要优雅关闭,避免重启导致消息丢失,需要过载保护,丢弃超时请求等等。

好了综上所述,再总结一下消费者和生产者的功能需求。

消费者可以有:连接管理、负载均衡、请求路由、超时处理、健康检查;生产者可以有:线程池、超时丢弃、优雅关闭、过载保护。

以上是总结的自建rpc需要的功能,有遗漏欢迎补充。

相关推荐:《java视频教程

以上是自建RPC都需要哪些功能?的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
rpc
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板