- https://habr.com/ru/company/true_engineering/blog/419817/
- https://www.rabbitmq.com/clustering.html
- https://www.rabbitmq.com/cluster-formation.html
https://habr.com/ru/company/flant/blog/450662/
- https://kubernetes.io/
- https://www.rabbitmq.com
- https://www.rabbitmq.com/kubernetes/operator/operator-overview.html
полное зеркалирование всех содержащихся в кластере данных, что позволяет работать RabbiqMQ в случае в случае работоспособности только одной ноды. Под сомнением необходимость deploy StatefulSet RabbitMQ, при кластерной конфигурации. для чего сохранять состояние pod'а, если есть зеркалирование всех содержащихся в кластере данных.
вариант несколько кластеров RabbitMQ пример:3 ноды k8s, два pods на каждой ноде,6 pods объедены в два кластера, зеркалирование очереди между кластерами.
ограничение длины очереди, использования Lazy queues(в качестве сохранения, возможно лучше использовать отдельный pods RabbitMQ) ограничение размера TTL или или max-lenght
ресурсоемкость, стоимость владения.
отказоустойчивость, в меньшей степени маштабируемость.
комбинации различных архетиктурных решений, позволяет создать более надежную и гибкую систему.
развернул стенд: для развертования в YandexCloud(TRIAL) использовал terraform 0.12.29, образ для развертывания взят из yandex repo. configs в репозитории.(в качстве среды развертывания можно использовать SaaS YandexCloud K8s)