你知道RSocket吗?

SideCar的作用

多了一个轮子,看起来更稳定一些,有了响应式之后,sidecar还有用吗?或许有用,或许没用,sidecar解决的问题不在于此,解决不了你得应用的性能问题。
ServiceMesh不是用来提升性能的,用了Istio之后性能降低。性能的差异根本原因在于协议。RScoket协议的性能要远远高于http、Grpc协议。

Actor模型

Actor模型实现非常困难,背的壳太重,对多语种的支持比较少。解决MQ的区分topic的问题,因为Actor里每个消息都标明了这个消息的去向。

为什么http基于文本协议?

因为http是给人看的,应用与应用之间可以用二进制协议,来提高性能。

为什么要用响应式?

借用一句名言来讲,穷则独善其身,达则兼济天下。响应式适合有大量IO、大量中断、大量调用的情况下。当你不需要反馈的时候,用消息队列更简单。

怎么从http切换到响应式?

其实有两种方式

  • 比如你有一个服务端,使用GRPC写的,你客户端不是使用响应式编的,你可以使用一个支持响应式的gateway,来做一个转换,这样就方便多了。
  • 可以使用SDK,而且必须是使用SDK。

RSocket主要竞争对手

  • xRPC:应用之间通讯,gRPC,Thrift,bRPC,Dubbo,Tars等
  • LightBond:数据处理,Akka也是Reactive Foundation
  • Service Mesh产品:Istio+Envoy,linkerd,Sofa-Mesh,Kong
  • ESB:Spring Integtration,Camel,Alpakka etc
  • IoT:MQTT

FAQ:RSocket机遇

  • C++会受益,好像MicroServices和C++没有关系,但是借助RSocket,C++可以无缝和其他各种语言通讯,LevelDB,RocksDB等
  • 通讯统一后,产品的SDK开发会非常简单
  • 既HTTP后,更简单和高效,支持各种语言通讯
  • 各种设备互联的开发成本更低

RSocket业务价值

  • QPS提升,30%左右(保守),主要是异步化的支持
  • 保持时刻响应:Message Driven
  • 弹性:扩容简单,路由简单,只要解析Message
  • 代码维护性:代码量减少20%,可读性增加
  • 引领技术方向:Cloud Native + Reactive
-------------本文结束感谢您的阅读-------------