RPC模块

RPC(Remote Procedure Call Protocol)即远程过程调用协议,它是一种通过网 络从远程计算机程序上请求服务,不需要了解底层网络技术的协议,是基于可靠 性、可控制TCP的应用层协议,从而保证了用户数据的传输完整。

在CITA内部专门提供了RPC模块,用于处理用户的RPC请求。其作用,一方 面对用户的请求数据进行简单的校验,对不符合格式的数据进行友好错误状态返 回,对于内部模块,过滤了部分杂乱请求,减少了共识模块等部分压力;

另一方面,从用户角度来说,它是唯一与CITA节点进行数据交互的模块,用户不 需要关注其它模块的运行状态即可得到相应的服务,在一定程度保证了CITA其它 模块的运行安全。

目前,RPC模块是一个可插拔的模块,与其它模块间的数据交互是通过内部数据 交换协议来实现的,模块只做最单一功能,便于与其它模块解耦,这意味着,模 块的可插拔性,给我们提供了进行横向扩展的策略。通过灵活配置RPC模块服务 的数量,允许更多用户的接入来处理大量请求,相当于CITA对用户的接入进行负 载均衡,对请求进行转发,并提供相应的应答。在接入协议实现上,可以定制用 户所需各种传输协议规范、特定场景的接口,如HTTP、WebSocket协议,以满足 其所需服务。