题目
常见的 RPC 框架有哪些
答案
- **RMI(JDK自带):** JDK 自带的 RPC,有很多局限性,不推荐使用。 - **Dubbo:** Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。目前 Dubbo 已经成为 Spring Cloud Alibaba 中的官方组件。 - **gRPC** :gRPC是可以在任何环境中运行的现代开源高性能 RPC 框架。它可以通过可插拔的支持来有效地连接数据中心内和跨数据中心的服务,以实现负载平衡,跟踪,运行状况检查和身份验证。它也适用于分布式计算的最后一英里,以将设备,移动应用程序和浏览器连接到后端服务。 - **Hessian:** Hessian 是一个轻量级的 remotingonhttp 工具,使用简单的方法提供了 RMI 的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制 RPC 协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。 - **Thrift:** Apache Thrift 是Facebook开源的跨语言的 RPC 通信框架,目前已经捐献给Apache基金会管理,由于其跨语言特性和出色的性能,在很多互联网公司得到应用,有能力的公司甚至会基于 thrift 研发一套分布式服务框架,增加诸如服务注册、服务发现等功能。