可靠服务之间的通信
Posted
技术标签:
【中文标题】可靠服务之间的通信【英文标题】:Communication between reliable services 【发布时间】:2016-04-18 20:13:20 【问题描述】:Microsoft 提供了几种不同的通信协议选项来在可靠服务之间进行通信。
有默认堆栈(强类型 RPC)、HTTP、WCF 或自定义协议。我认为最简单的方法是使用默认的通信堆栈。但是性能最好的通信栈是什么呢?
【问题讨论】:
【参考方案1】:您如何定义绩效?在给定时间内最多的请求响应?单个请求响应的最短时间?发送方和接收方的内存或 CPU 开销?
性能最好的堆栈通常是您编写的自定义堆栈 您自己专门针对您的服务通信特性。根据情况,每个其他堆栈的行为都会有所不同。
这是一个例子。假设您在服务之间传输大量数据。在这里,HTTP 可能比 RPC 更好,因为您可以打开连接并在数据到达时流式传输数据,而 RPC 会将所有数据发送到一个大的有效负载中,这会留下很大的内存占用。一个更好的选择可能是打开一个 WebSocket。比仅使用常规套接字更更好的选择。
顺便说一句,我们不再将其称为“默认”堆栈,因为实际上并没有默认值 - 您必须选择一个。强类型 RPC 堆栈现在简称为“Remoting”。
【讨论】:
以上是关于可靠服务之间的通信的主要内容,如果未能解决你的问题,请参考以下文章