Dubbo Mesh is Dubbo’s comprehensive microservice solution in the context of cloud-native, helping developers integrate Dubbo services with the standard Kubernetes Native Service system, allowing Dubbo applications to seamlessly integrate with mainstream service mesh products like Istio.
Below is the deployment architecture diagram of Dubbo Mesh
For more information on service mesh architecture and why to integrate with the Istio control plane, please refer to the Istio official website. This document does not cover these general topics but focuses on the Dubbo Mesh solution itself.
In proxy mode, Dubbo is deployed together with Envoy and other sidecars (Proxy or Sidecar).
Above is the deployment architecture diagram of Dubbo Proxy Mesh
In Proxy mode, using HTTP-based communication protocols like Triple, gRPC, and REST in Dubbo3 can achieve better gateway penetration and performance experience.
In Proxyless mode, there are no proxy components like Envoy. The Dubbo process remains independently deployed and communicates directly, with the Istio control plane interacting with the Dubbo process for governance capabilities via the xDS protocol.
In Proxyless mode, Dubbo deployment remains largely consistent with the previous service mesh, directly implementing xDS protocol parsing through different language versions of the Dubbo3 SDK.
Proxy mode effectively achieves governance capabilities and has many advantages, such as smooth upgrades, multi-language support, and minimal business intrusion. However, it also brings some additional issues, such as:
In Proxyless mode, Dubbo processes continue to maintain direct communication:
Having understood enough theoretical knowledge, we recommend you visit the following examples for hands-on practice.
We recommend using Dubbo Admin as the visual control console for your Dubbo cluster. It is compatible with all Kubernetes, Mesh, and non-Mesh architecture deployments.
In addition, you can use the officially recommended visualization tool by Istio to manage your Dubbo Mesh cluster.
Dubbo Mesh itself does not bind to any specific control plane product implementation. You can use Istio, Linkerd, Kuma, or any control plane product that supports the xDS protocol, and the same applies to Sidecar.
If you have fully experienced the Dubbo Mesh based on Istio example task and found that Istio meets your Dubbo Mesh governance needs well, then adopting Istio as your control plane is the preferred solution.
If you find that some Dubbo capabilities are limited under the Istio mode, and these capabilities are exactly what you need, then you need to consider integrating the Dubbo control plane. Use the Dubbo control plane to replace Istio to gain more native Dubbo system capabilities and better performance experience. For details, please refer to the Dubbo Mesh example task based on the Dubbo custom control plane.
In short, this is a custom version control plane based on Istio released by the Dubbo community. For differences in Dubbo control plane installation and capabilities, please refer to the example task link above.
Address Synchronization
Aeraki Mesh