Я начал работу над новым проектом, и нас попросили создать систему как ряд микросервисов, используя RabbitMQ в качестве уровня связи между ними.
При разработке API REST я предпочитаю использовать заголовок accepts HTTP для управления версиями, и я вижу, что вы можете использовать обмен заголовком в RabbitMQ для маршрутизации сообщений аналогичным образом. Однако, поскольку это чисто внутренняя система обмена сообщениями, я не уверен, действительно ли добавлена сложность обмена заголовками?
Какова типичная настройка для версий RabbitMQ? Мне кажется, что варианты:
- Новый призрак для каждой версии
- Каждый Exchange имеет версию в имени (например, MyExchange-v1, MyExchange-v2,... и т.д.).
- Очереди версии
- Клавиши маршрутизации версии (myroute-2.1. *)
- Использовать обмен заголовком
Спасибо за любой вклад, который у вас есть.