Совместное использование реестра и шлюза, вероятно, плохая идея. Разработчики полного стека должны запускать шлюз и реестр локально на своем P C, предоставляйте общий доступ к UAA, только если вы действительно хотите поделиться чем-то.
Если вы все еще хотите это сделать, вас может вдохновить управление несколькими версиями веб-API на шлюзе. В конце концов, в вашем случае каждый разработчик хочет использовать свою собственную версию API.
- Со стороны клиента это можно сделать через URL или через заголовок HTTP. Это означает, что вы можете настроить клиентский код так, чтобы ему требовалась указанная c версия.
- Эта дополнительная информация в запросе затем использовалась бы шлюзом для маршрутизации в службу, которая соответствует запрошенной версии.
- Это работает только в том случае, если прокси-сервер Zuul в шлюзе знает, какая версия поддерживается каким экземпляром службы. Это означает, что каждый экземпляр должен добавить эту информацию о версии в свою регистрацию Eureka.
Вот две идеи, которые вы можете попробовать:
- версия в URL: определите профиль пружины (например,
user
) и используйте его для установки другого имени приложения. в bootstrap-user.yml
- версия в заголовке: добавьте некоторое свойство в карту метаданных Eureka (
eureka.instance.metadataMap
в bootstrap.yml
) и измените шлюз, чтобы он использовал эту информацию для маршрутизации.
Ознакомьтесь с Документами по серверу Spring Cloud Eureka , чтобы получить хорошее представление о том, как это работает, и у вас могут быть еще лучшие идеи.
Вот статья о версиях API, которая может вдохновить Вы тоже: https://tech.asimio.net/2017/03/06/Multi-version-Service-Discovery-using-Spring-Cloud-Netflix-Eureka-and-Ribbon.html