什么是在微服务架构中进行通信的有效方式

Has*_*ary 3 web-services amazon-ec2 node.js microservices

我正在使用Node.js和基于REST的轻量级Web服务来在服务器之间进行通信.我想知道是否有另一种更有效的方式在服务器之间进行通信?我在vpn中使用ec2实例.

rsp*_*rsp 7

比REST over HTTP更高效,从效率最低到效率最高:

  • REST over HTTP/2
  • 的WebSocket
  • TCP套接字
  • UDP数据包

但是,如果您的错误服务实际上正在做任何有用的事情并且不花费大部分时间来处理HTTP标头,那么这种差异可能完全无关紧要.

例如,当您花费半秒等待数据库然后返回一兆字节的JSON时,添加几行额外的HTTP标头甚至无法测量.

在进行过早优化之前,您需要对代码进行概要分析并对其进行测试,并记住,在发送较少字节方面,某些方法可以更有效地进行通信,但在开发时间,维护和调试方面效率要低得多.请记住,没有什么比基于文本的协议更容易检查和调试,比如可以使用netcat或其他任何处理纯文本的旧HTTP/1.1.