у нас есть два экземпляра виртуальных машин, работающих в Google Compute Engine. Первый запускает экземпляры NodeJs, которые подключаются к серверу mongodb, установленному на втором экземпляре виртуальной машины. У них ЦП выше работает большую часть времени около 70%.
Я хотел бы добавить автомасштабирование к этим экземплярам, чтобы улучшить производительность, но я не хочу полностью переустанавливать экземпляры и по возможности сохранять общедоступные и внутренние IP-адреса.
Если я прав, мне нужно создать новый экземпляр группы и добавить к нему два существующих.
У меня следующие вопросы:
Спасибо за ваши ответы.
Функция автомасштабирования групп управляемых экземпляров обычно применима к экземплярам виртуальных машин без сохранения состояния. Средство автомасштабирования добавляет или удаляет экземпляры из группы управляемых экземпляров. Следовательно, любые данные, хранящиеся на корневых дисках виртуальных машин, могут быть потеряны.
Для вашей виртуальной машины NodeJs вы можете использовать автомасштабирование, если это виртуальная машина без сохранения состояния. Однако для виртуальной машины MongoDB одним из вариантов является обновление тип аппарата вашей виртуальной машины и увеличьте ресурсы обработки для соответствия вашим рабочим нагрузкам. Это называется Vertical Scaling
. Другой вариант - реализовать Horizontal Scaling
через функция сегментирования из MongoDB.
О других ваших вопросах:
Чтобы сохранить внешний IP-адрес, если он эфемерный, вы можете продвигать это на статический внешний IP-адрес и назначить его правилу переадресации Балансировщик нагрузки HTTP (S). Балансировщик нагрузки будет распределять пользовательские запросы между вашими экземплярами виртуальных машин NodeJs (бэкэндами).
Правила брандмауэра GCE, возможно, потребуется изменить, чтобы они соответствовали Требования к балансировщику нагрузки.