Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to look at RSocket,. Envoy and. Istio

2025-04-01 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)05/31 Report--

How to look at RSocket,. Envoy and. Istio, many novices are not very clear about this, in order to help you solve this problem, the following small series will explain in detail for everyone, people who have this need can learn, I hope you can gain something.

A lot of students see this topic, will certainly ask such a question: RSocket is a protocol, Envoy is a proxy, Istio is a service mesh control plane + data plane. How can these three technologies be compared together?

Indeed, from a technical positioning point of view, they do have a big gap. But what would be different if we used RSocket to govern microservices?

RSocket

RSocket is an application layer protocol, not a transport layer protocol. On the one hand, it can accommodate and support different transport layer protocols and related technologies, such as tcp and proto buf. On the other hand, it focuses on elevating the implementation of reaction flow to the application layer.

In fact, in the underlying protocol, there is an implementation of reaction flow, tcp sliding window is a good example. But up there, this good mechanism is missing, causing a lot of trouble for programming work. A large proportion of online failures are caused by blocked links. On the other hand, many application layer network software, from the time of design began to avoid such trouble, resulting in bloated structure, communication efficiency is low. A simple example would be if all communications were reactive, then no fuses would be needed.

RSocket-based applications are more than just end-to-end communications; Broker is also a natural application of this protocol. As a reactive Broker, it is also asynchronous, non-blocking communication mode, mainly maintaining links with nearby applications and links with other brokers. Compared to other protocols, it is multiplexed and supports long links.

After such explanation, it is not difficult to understand that this article is mainly aimed at the Mesh formed by RSocket application through RSocket Broker connection, and other Service Mesh projects in different levels and aspects of comparison.

RSocket vs .Envoy

Envoy as a proxy, it is mainly based on HTTP2/HTTP 1.1 protocol, of course, this is in line with the taste of the market, but the limitations of this protocol also limit Envoy performance. That's the first point of comparison,

1. Envoy does not support multiplexing, non-blocking and limited support for long links. It is limited, in fact, it is not supported, because as long as your link cannot be kept open, you have to rely on a third party to do health check. This definitely increases the difficulty of development. Without multiplexing support, it is impossible to open a link to each service, so it is necessary to rely on a third party for the service registry.

This limitation not only makes Envoy have to rely on a control plane, which cannot bear the burden of weaving mesh independently, but also greatly limits its performance. For example, the join pool management used by the new version of Istio Proxy (Envoy) takes up a lot of memory.

And for ket,

2. The main obstacle to RSocket is that applications must communicate with each other using RSocket. With the launch of Spring Cloud, Spring Framework 5.2 will soon include RSocket as the default reactive communication protocol, and the integration of Dubbo and RSocket, people will have more opportunities to access RSocket.

Also,

3. In many cases, you will hear that Envoy supports Polygoat, as if you don't need SDK when you use Envoy. This statement is obviously an illusion. SDK is a must, in order to support Polygoat, you must choose a multi-language SDK. Because the code that invokes another service is still happening in your own program, Envoy can't replace it. Envoy said save SDK development, refers to the so-called "fat SDK," that is, including service discovery and routing functions SDK, similar to the Dubbo we use now, that will indeed make SDK thin. However, if you use RSocket Broker, these SDKs do not need to be "fat" anymore, and the RSocket protocol also has SDKs in different languages.

RSocket vs .Istion

In addition to the simplicity and efficiency mentioned above, RSocket Broker has one major advantage over Istio, which is that it does not rely on Kubernets. While Istio claims to be Kubernet-independent, deploying and managing sidecar proxies outside Kubernets is not an easy task, while RSocket Broker can be deployed anywhere.

As a Service Mesh solution, Istio is hard to apply outside the data center. So what about the multitude of IoT devices? A sidecar on every phone? RSocket is a small and efficient SDK, which is why major mobile apps like Facebook choose RSocket.

Istio features observability, security and control. In terms of observability and control, although RSocket Broker has interfaces, the implementation is not enough, especially the API part. This is also a direction that the community should strive for. From the security point of view, if it is a pure RSocket service, it does not need to open the port. This is another simplification of the features brought by the advanced protocol. There will be more introductions in the future.

Long ago, accessing another service in a distributed application was intuitive and transparent. After the popularity of microservices, it introduced many layers of technology stack in order to "simplify" the communication between microservices. This is certainly a good thing, but many decisions are limited by the technology of receiving the previous generation of communication protocols.

RSocket's reactive flow technology simplifies inter-program communication dependencies on other components. We can enjoy the convenience provided by Service Mesh without having to use such a complicated technology stack. Of course, the benefits of RSocket are not simple. In our initial experiments, RSocket Broker's service mesh was nearly 10 times faster than Istio.

Did reading the above help you? If you still want to have further understanding of related knowledge or read more related articles, please pay attention to the industry information channel, thank you for your support.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report