通信方式面试题
轻量级通信和重量级通信
轻量级通信方式:指的是在系统中进行通信时所采用的简单、高效、低开销的通信方式。在微服务架构中,轻量化通信方式通常指的是采用基于HTTP协议的RESTful API或基于消息队列的异步通信方式。
相对于轻量级还有重量级:复杂、高开销、耗时较长的通信方式,可能涉及更多的协议、数据格式和处理逻辑。由于系统需求复杂或安全性要求高,可能需要采用重量级通信方式,如基于RPC的通信(如使用dubbo框架),SOAP协议通信(如使用WebService)
通信协议与传输协议
通信协议关注于整体通信的规则和约定,而传输协议则更侧重于数据的传输规则和格式。
RPC通信方式:
定义一个接口,服务端实现这个接口,客户端就像调用本地函数一样调用这个接口就能调用到服务端的实现方法
适用于对性能和定制化需求较高的分布式系统场景。
SOAP协议通信方式:
是一种基于XML的通信协议,AX-WS框架实现的Web service使用的soap协议
RPC相比http通信的重量级:
- 协议复杂性: RPC通信通常使用自定义的二进制协议,需要额外的解析和处理逻辑,相对于HTTP的文本协议更复杂。
- 定制性: RPC通信需要定义接口和协议规范,定制性较高,相对于HTTP的通用性更为专门化。
- 性能开销: RPC通信通常需要额外的序列化和反序列化过程,相对于HTTP的文本传输的序列化,性能开销较大。
SOAP协议通信相对HTTP的重量级体现在:
- 消息格式: SOAP协议通信使用XML格式的消息,XML数据较为冗长,增加了通信的数据量和处理复杂性。
- 协议规范性: SOAP协议有严格的规范要求,包括消息头、消息体、SOAP动作等,相对于HTTP的自由度更受限制。
- 性能开销: SOAP协议通信需要进行XML数据的解析和构建,相对于HTTP的文本传输,性能开销较大。
RPC通信方式相比http通信方式的优点:
- 性能优化: RPC通信通常使用二进制协议,传输效率更高
- 定制性强: RPC通信可以根据具体需求定制通信协议和接口规范,适用于特定场景的定制化需求。
- 低延迟: RPC通信通常采用长连接,减少了连接建立和断开的开销,降低了通信延迟,适用于对延迟要求较高的场景。
- 安全性: RPC通信可以实现更严格的安全控制和认证机制,确保通信的安全性和可靠性。
RPC通信方式相比http通信方式的缺点:
- 复杂性: RPC通信通常需要定义接口和协议规范,定制性较高,实现和维护成本较高。
- 耦合度高: RPC通信需要双方遵循相同的通信协议和接口规范,服务提供者和消费者之间的耦合度较高。
- 平台限制: RPC通信可能受限于特定平台、语言或技术,不易跨平台、跨语言使用,可移植性较差。

浙公网安备 33010602011771号