• 技术文章 >Java >Java基础

    自建RPC都需要哪些功能?

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

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

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

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

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

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

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

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

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

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

    相关推荐:《java视频教程

    以上就是自建RPC都需要哪些功能?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:RPC
    上一篇:java定时任务实现的几种方式是什么 下一篇:sharedpreferences可以存储什么数据类型
    第16期线上培训班

    相关文章推荐

    • 服务间通信RPC的详细介绍• rpc中间件有哪些• rpc不可用无法开机怎么解决• rpc不可用一直重启怎么办• Java 手写一个RPC框架

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网