Hi All,

Here is our design proposal:

# 1. Problem statement and context



Figure 1. The barrier between the two technology stacks



In the process of application modernization, it is common for users to use
multiple microservice technology stacks (servicecomb-service-center and
istio) at the same time. So, they have a high demand to break the
communication barrier between two heterogeneous tech stacks which is caused
by the different Registration and Discovery mechanisms.



# 2. Our solution



Figure 2. Our solution



We propose a tool that can synchronizes microservices from
servicecomb-service-center to Istio system which makes istio-based services
are able to discover servicecomb-service-center-based services, refer to
Figure 2.



## 2.1 Design



Figure 3. Servicecomb-service-center structure



As we can see from this Figure 3, servicecomb-service-center-istio
synchronizes service register information from servicecomb-service-center
side to istio side. It mainly does three steps:

   - It watches servicecomb-service-center updates (microservice instance
   status changes event: add, delete, update) via a WebSocket connection.
   - It converts servicecomb-service-center data model (microservice and
   microservice instance) to Istio data model (ServiceEntry and WorkloadEntry)
   - It pushed converted data model to K8S api server through REST api.



After doing all these steps, Istio automatically captures these converted
ServiceEntry and WorkloadEntry and dispatches them to each Envoy sidecar,
so that each sidecar can discover those servicecomb-service-center services.


If you have any questions please let me know.


Thank you,

Shiqi

Reply via email to