zowe / api-layer

The API Mediation Layer provides a single point of access for mainframe service REST APIs.
Eclipse Public License 2.0
51 stars 61 forks source link

Improvements in v3 for Eureka / ZUUL to reduce the delays between onboarding/instance updates and routing #3621

Open Shobhajayanna opened 3 weeks ago

Shobhajayanna commented 3 weeks ago

There is an implementation in v2 and v1 to improve the communication of services & Eureka client, which is yet to be implemented in v3.

once a service updated registry in the Discovery service the Eureka caches could be cleaned the Gateways could be notified (reverting of GatewayNotifier) once Gateway is notified, a gateway could call applicationEventPublisher.publishEvent(new RefreshRoutesEvent("List of services changed")); to regenerate routing issue

balhar-jakub commented 2 weeks ago

The implementation would need to be different.

pj892031 commented 2 weeks ago

This issue was created because of #3617. In the PR was removed document https://github.com/zowe/api-layer/blob/v2.x.x/docs/registry-communication.md. It described how was improved the communication in v2 (cleaning caches, direct notification, and almost immediate change of routing rules). The document describes not just the idea, but also the technology. The document is not valid anymore (GatewayNotifier, ZUUL, and Ribon were removed). Although that is possible to implement a similar approach in v3, just missing pieces should be replaced.

The aim of this issue is to consider benefits and could lead to implementing such a feature...