Сопоставление шаблонов для сообщений на Istio - PullRequest
1 голос
/ 24 мая 2019

Я хотел бы реализовать подход, описанный в книге «Дао микросервисов», с использованием kubernetes и Istio.Другими словами, я хотел бы, чтобы микросервисы связывались друг с другом с помощью сообщений очереди, соответствующих шаблону, и все же я использую возможности маршрутизации Istio для отправки, т.е. 5% сообщений, в новый микросервис (развертывания Canari).

Я прочитал в довольно старую статью , что Istio в настоящее время не поддерживает маршрутизацию очереди, но мне интересно ее состояние сейчас.

Кто-нибудьЕсть пример, который реализует это решение с темами Istio / queue?сообщение со следующими ключами маршрутизации

store:save
kind:entity

перенаправляется на микросервис, который регистрируется как принимающий

store:*
kind:entity

1 Ответ

2 голосов
/ 24 мая 2019

Это скорее вопрос совета по архитектуре.

Для этого шаблона вам, вероятно, лучше использовать брокер сообщений, такой как RabbitMQ или Kafka илишина событий (или что-то еще).

По сути, за Istio у вас будут службы, подписывающиеся на определенные темы сообщений (публикуемые где-то еще, которые могут быть другой службой).

Таким образом, например, вы можете получить что-то вроде (service 1, queue1/topic1), (service2, queue2/topic2).Тогда на Istio, если вы разделяете трафик Andriod и iOS, у вас будет правило, которое отправляет весь трафик для Android на (service 1, queue1/topic1) и весь трафик на iOS на (service2, queue2/topic2).Или вы можете использовать 80% трафика для (service 1, queue1/topic1) и 20% трафика для (service2, queue2/topic2)

Вы можете запустить свой брокер сообщений в Кубернетесе или за его пределами, в зависимости от того, как вы хотите создать свое решение..

Надеюсь, это поможет!

...