内容简介:最近由于gRPC的噪音很多,人们开始质疑其优雅性,这篇文章也顺便黑了一把,gRPC在概念上与SOAP非常相似,只是它使用Protobuf而不是使用XML来定义服务。就像SOAP一样,它是URL和Header魔法的大杂烩 ,不过gRPC是与HTTP / 2死死绑定了。注意的是HTTP / 2是为Web浏览器设计的协议哦。当将gRPC调用转换为REST调用时,需要通过代理转换,从而破坏了使用gRPC的目的。这突出了gRPC的设计不佳。同样,REST的最大限制是它与HTTP相关联。REST是一种基于HTTP的黑
最近由于gRPC的噪音很多,人们开始质疑其优雅性,这篇文章也顺便黑了一把,gRPC在概念上与SOAP非常相似,只是它使用Protobuf而不是使用XML来定义服务。就像SOAP一样,它是URL和Header魔法的大杂烩 ,不过gRPC是与HTTP / 2死死绑定了。注意的是HTTP / 2是为Web浏览器设计的协议哦。
当将gRPC调用转换为REST调用时,需要通过代理转换,从而破坏了使用gRPC的目的。这突出了gRPC的设计不佳。
同样,REST的最大限制是它与HTTP相关联。REST是一种基于HTTP的黑客技术,经常使用REST的原因是它易于调试,因为它是“人类可读”。
我们想要的是一种专为服务到服务通信而设计的协议。使用专门为服务设计的协议可以相互通信,从而创建更简单,更可靠的应用程序。不存在任何黑客攻击,变通方法或阻抗不匹配。
开源 RSocket 专为服务而设计。它是一种面向连接的消息驱动协议,在应用程序级别具有内置流控制。它既可以在浏览器中同样使用,也可以在服务器上使用。这意味着您可以流式传输数据或执行Pub / Sub而无需设置应用程序队列。它也是二进制的。它对文本和二进制数据同样有效,并且对传输的内容负荷进行分段。
REST是一个不错的解决方案。但是在微服务领域变得没有意义了。分布式系统本身很难。我们需要做的最后一件事是使用它,而不是为它们设计的新东西来使它们更复杂。
以上所述就是小编给大家介绍的《使用RSocket实现新REST服务协议》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 使用Akka实现并发
- 使用GOLANG实现猴子排序
- 使用 WebSocket 实现 JsBridge
- 使用 RabbitMQ 实现 RPC
- 使用Kafka实现事件溯源
- 使用 Swift 实现 Promise
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。