Есть ли способ хранить сообщения где-нибудь в RabbitMQ, чтобы микросервисы, разработанные в будущем, могли использовать старые данные? - PullRequest
0 голосов
/ 15 марта 2020

этот вопрос касается лучших практик, и выяснить, нахожусь ли я на правильном пути. Возможно, мои мысли ошибочны, может быть, есть и лучшие альтернативы.

  • Я использую RabbitMQ (хорошо) для связи между сервисами.
  • Некоторые производители предоставляют данные, некоторые потребители их используют. Отлично.
  • Для простоты понимания давайте предположим, что это сообщения, содержащие адреса клиентов.
  • Позже в процессе разработки я хочу представить нового потребителя, работающего над адресами клиентов. И вот мой вопрос:

Возможно ли где-то СОХРАНИТЬ сообщения, поэтому, если есть новый потребитель, он получит все данные с самого начала? Таким образом, новый потребитель может работать с этими данными, и для пользователя кажется, что этот новый сервис всегда был на месте.

Возможно ли это с rabbitmq? Где я могу начать? Если нет: что еще поможет такому решению?

1 Ответ

1 голос
/ 16 марта 2020

Я использовал RabbitMQ, но я не эксперт, поэтому не могу ответить на этот аспект вашего вопроса.

Однако то, что вы рассматриваете, скорее всего, плохая идея. Если вы используете RabbitMQ в качестве очереди , вам следует подумать о том, что это средство связи между службами, а не источник правды для информации.

Где-то на вашем предприятии вы ( надеюсь) иметь сервис и сопутствующую базу данных, в которой хранятся данные адресов клиентов. При развертывании новой службы она должна использовать данные этой службы. Это может быть через скрипт миграции, запрос API или другие средства. Как только новая служба обновится, она сможет начать обработку новых данных через инфраструктуру очередей.

...