Thin SDK for Proxy Mesh
- Mentors
- Albumen Kevin, Jun
- Organization
- Apache Software Foundation
- Technologies
- Java、Dubbo、Service Mesh
- Topics
- web, cloud, service mesh
The overall goal is to modify the Dubbo SDK to work in mesh mode and streamline unnecessary processes.
1. For service invocation, add the meshEnable configuration in ConsumerConfig to enable the mesh mode and add the providerPort in ReferenceConfig to specify the provider's service port. Modify the SDK, read the providerBy and providerPort in the configuration to determine the address of sending RPC. In the mesh environment, providerBy should be the ServiceName of the Provider. In Mesh mode, Invoker should remove clusters.
2. For health checks, Istio comes with probes that align the life cycle of Dubbo and even the entire application with the life cycle of Pod. An active health check provided by Envoy removes unhealthy instances immediately and then joins the service route when the instance is healthy again. However, the readinessProbe implementation provided by Dubbo does not apply to mesh. If the registry is not configured in mesh mode, Dubbo's readinessProbe returns false, which needs to be modified here.
3. For traffic governance, you can use retry configuration, routing, load balancing and other traffic governance functions to find the methods to interact with Envoy (for example, the number of retries can be achieved by configuring the header).