Dubbo Mesh is Dubbo’s comprehensive microservices solution in a cloud-native context. It helps developers integrate Dubbo services with standard Kubernetes Native Service systems, enabling seamless connectivity with leading service mesh products like Istio.
Below is the deployment architecture diagram for Dubbo Mesh.
For general content on service mesh architecture and why you might want to integrate with the Istio control plane, please refer to the Istio official website. This document will focus on the Dubbo Mesh solution itself.
In Proxy mode, Dubbo is deployed alongside a sidecar like Envoy.
The architecture diagram above depicts Dubbo Proxy Mesh deployment:
In Proxy mode, using Dubbo3 communication layers like Triple, gRPC, and REST that are based on HTTP can result in better gateway penetration and performance.
In Proxyless mode, there are no proxy components like Envoy. Dubbo’s processes are deployed independently and communicate directly. Istio’s control plane interacts with Dubbo processes for governance via the xDS protocol.
In Proxyless mode, Dubbo deployment is basically the same as before, but the Dubbo3 SDKs directly implement xDS protocol parsing.
While Proxy mode offers many advantages, such as smooth upgrades, multi-language support, and minimal business intrusion, it also introduces some challenges:
In Proxyless mode, Dubbo processes continue to communicate directly:
After acquiring sufficient theoretical knowledge, we recommend that you visit the following examples for hands-on practice.
We recommend using Dubbo Admin as the visualization console for your Dubbo cluster. It is compatible with all Kubernetes, Mesh, and non-Mesh architecture deployments.
Additionally, you can use Istio’s official recommended visualization tools to manage your Dubbo Mesh cluster.
Dubbo Mesh itself is not tied to any control plane product implementation. You can use Istio, Linkerd, Kuma, or any control plane product that supports the xDS protocol. The same applies to Sidecars.
If you have already experienced the Dubbo Mesh based on Istio sample tasks and find that Istio meets your governance needs for Dubbo Mesh, then adopting Istio as your control plane is the preferred solution.
If you find that Dubbo’s capabilities are limited in Istio mode and need those capabilities, you may consider integrating Dubbo’s control plane to replace Istio for better native Dubbo support and performance. For details, please refer to Dubbo Mesh Sample Tasks based on Custom Dubbo Control Plane.
In short, this is a customized version of the control plane released by the Dubbo community based on Istio. For installation and capability differences of Dubbo’s control plane, please refer to the sample task link above.