Я аспирант в области облачных вычислений, я планирую использовать архитектуру на основе микросервисов с consul и zeromq для своего исследовательского проекта. У меня было несколько вопросов, которые мне трудно понять. Может ли кто-нибудь помочь мне поделиться своим опытом.
- У нас есть микросервисы на основе докеров, у нас есть zeromq и у нас есть консул. Можете ли вы упомянуть, как мы могли бы объединить все три вместе, чтобы получить динамическую адаптивную среду?
Хотя я понимаю, что такое zeromq, docker и consul по отдельности, я все еще не могу получить четкое представление о том, как все они функционируют в целом. У нас есть контейнеры Docker с микросервисами, работающими внутри них на хосте. Мы используем zeromq для транспортировки (Pub-sub/pipeline) сообщений между док-контейнерами. Контейнеры могут работать на одном хосте/центре обработки данных или на разных хостах/центрах обработки данных. Затем мы используем консул для обнаружения службы. Правильно ли я понимаю?
- Как архитектура динамически масштабируется вверх/вниз в зависимости от рабочей нагрузки?
Скажем, у меня есть ситуация, когда мне нужно больше рабочих узлов для определенного вычисления на какое-то время. Кто раскручивает большее количество рабочих узлов. Какой компонент определяет/принимает это решение?
Есть ли компонент расписания? Если да, может ли кто-нибудь кратко объяснить, как это происходит или какой компонент выполняет эту функцию?
- Итак, какова основная роль консула? Используется ли он только для обнаружения служб? Может ли он также использоваться для конфигураций. Если да, то каковы его ограничения?
Я вижу, что даже у zeromq есть механизмы обнаружения сервисов, так зачем нам нужен консул?
- Как информация об отказе узла распространяется в архитектуре? Какой компонент отвечает? Просто консул? Или zeroMq тоже?
Пожалуйста посоветуй.