Является ли Zuul уникальной точкой входа в мое приложение? - PullRequest
1 голос
/ 24 июня 2019

Я уже некоторое время использую Zuul в своем приложении на основе микросервисов, и оно работает отлично.

теперь мне кто-то задал вопрос, который заставил меня подумать, что мир микросервисов - это еще не все радуги и цветы.

поэтому вопрос заключался в том, что «у вас Zuul в качестве единственной точки входа в ваше приложение, разве это не какая-то централизация? Что, если zuul не работает?»

Я просто хотел собрать некоторые мнения и получить ответ на этот вопрос.

спасибо.

Ответы [ 2 ]

3 голосов
/ 24 июня 2019

Если ваш экземпляр Zuul не работает. Возможно, вы не сможете подключиться к другим службам через шлюз API.

В качестве решения я бы предложил вам выбрать кластерное решение с двумя экземплярами zuul. Там вам нужны две службы реестра на стороне клиента (Eureka Servers).

Если вы планируете управлять отказоустойчивостью, вы можете обратиться к стражу.

Ваши микроуслуги становятся клиентами eureka.

Вы должны зарегистрировать свои микроуслуги на обоих серверах eureka и создать кластер серверов eureka. Вы можете ссылаться на диаграмму ниже как схему проекта / архитектуры для реализации.

Примечание. Необходимо поддерживать две конечные точки для обоих серверов zuul. Если zuul 1 не работает, клиент может запросить zuul 2. Это поможет вам достичь нулевого времени простоя (вам необходимо убедиться, что ваша платформа VM надежна и не имеет незапланированных простоев).

enter image description here

2 голосов
/ 24 июня 2019

Да, это точка входа, и она обслуживает многих профессионалов, имеющих единую точку входа в вашей архитектуре микросервиса.

Плюсы: Я могу думать на вершине ума

  1. Единый контакт для всех пользователей API (Приложения). Zuul работает на api.yoursite.com и звонит ему каждый раз лучше, чем звонить отдельным пользователям (service1.yoursite.com, service2.yoursite.com) от ваших пользователей API.

  2. С точки зрения безопасности, вам приходится иметь дело только с безопасностью одного сервера, и вы можете скрыть все остальные серверы, на которых запущены ваши службы в сети, и не показывать их в общедоступном Интернете. Amazon AWS и многие другие провайдеры предоставляют такую ​​возможность.

  3. Вы можете использовать преимущества маршрутизации, используя zuul в качестве точки входа, вы можете направить 80% трафика на старую версию service1 и 20% на новую версию service1.

Минусы:

Великая сила приходит с большой ответственностью. Если ваш основной сервер zuul не работает, все ваше приложение не работает (Изменить: только если у вас есть одна настройка zuul). Пожалуйста, проверьте ответ @ lahiru, как вы можете создать несколько кластеров zuul, используя конфигурацию реестра eureka.

...