Microsoft提供了几种不同的通信协议选项来在可靠的服务之间进行通信。
有默认堆栈(强类型RPC)、HTTP、WCF或自定义协议。我认为最简单的方法是使用默认的通信堆栈。但是,性能最好的通信堆栈是什么呢?
发布于 2016-01-14 08:52:01
您是如何定义性能的?在给定的时间内请求-响应的最大数量?单次请求-响应的最短时间?发送方和接收方的内存或CPU开销?
性能最好的堆栈通常是您自己专门为您的服务通信特征编写的自定义堆栈。根据情况,每个其他堆栈的行为都会有所不同。
下面是一个例子。假设您正在服务之间传输大量数据。在这里,HTTP可能是比RPC更好的选择,因为您可以打开连接并在数据到达时流式传输数据,而RPC将在一个很大的有效负载中发送所有数据,这会留下很大的内存占用。一个更好的选择可能是打开一个WebSocket。比这更好的选择是只使用常规套接字。
顺便说一句,我们不再称它为“默认”堆栈,因为没有真正的默认堆栈-你必须选择一个。强类型RPC堆栈现在简称为“远程处理”。
https://stackoverflow.com/questions/34773724
复制相似问题