Вопросы архитектуры для автоматического масштабирования Moodle на Google Cloud Platform - PullRequest
0 голосов
/ 19 сентября 2018

Мы настраиваем Moodle для нашей LMS и разрабатываем его для автоматического масштабирования.

Вот текущие технические характеристики стека:

- Запущено приложение Moodle (приложение + данные)в образ и запускается в группу управляемых экземпляров

- Облачный SQL для базы данных (MySQL 5.7 подключен через Cloud SQL Proxy)

- Облачный балансировщик нагрузки - балансировка нагрузки HTTPS с группой управляемых экземпляров выполняется следующим образом:backend + привязка к сеансу включена

Вопросы:

  1. Мне все еще нужен Redis / Memcached для моего сеанса?Или достаточно сходства сеанса балансировщика нагрузки?

  2. Я думаю об использовании Cloud Filestore для папки Data.Является ли это рекомендуемым по сравнению с другим Compute Engine?

  3. Меня больше беспокоит кэш сессий и кеш контента для будущего увеличения пользователей.Что бы вы порекомендовали добавить в смесь?Любой совет по CI / CD также будет полезен.

1 Ответ

0 голосов
/ 19 сентября 2018

Итак, я не могу правильно ответить на эти вопросы без дополнительной информации о вашем случае использования.В любом случае, вот мой лучший вариант:)

  1. Насколько плохо вы считаете, что вынуждают некоторых пользователей повторно входить в систему, когда машина отключается от группы управляемых экземпляров?В связи с этим, насколько колючим, по вашему мнению, будет ваш трафик?Сколько пользователей сможет обслуживать машину, прежде чем принудительно включит автоскалер, и будет добавлено или удалено больше машин в / из пула (т. Е. Насколько, по вашему мнению, должно быть dynamic ) вашему приложению?Отвечая на эти вопросы, вы должны получить представление.Кроме того, почему бы не использовать Datastore / Firestore для пользовательских сессий?Несколько десятков миллисекунд задержки не должны ставить под угрозу ощущение snappy вашего приложения.

  2. Облачное хранилище файлов использует NFS, и вы можете столкнуться с некоторыми идиосинкразиями NFS.Вы будете в порядке, ударившись об этом?Кроме того, какова допустимая задержка?Насколько большими будут данные, которые вы будете сохранять?Если они достаточно малы, вы очень чувствительны к задержке, и вам нужна атомарность в операциях чтения / записи, которые вы можете использовать для Cloud BigTable.Если задержка не так важна, Google Cloud Storage может сделать это за вас, но вы также потеряете атомарность.

  3. Google Cloud CDN кажется тем, что вы хотите, при условии, что вы можете правильно настроить заголовки.Это управляемый сервис, поэтому в нем есть все плюсы, и вы не тратите время, и это дешево по сравнению с обслуживанием приложений из вашего приложения / Google Cloud Storage /... 1011 *

  4. CloudBuilder for кажется простым вариантом, если только вы не хотите поддерживать более продвинутые вещи, которые еще не поддерживаются.

Пожалуйста, предоставьте больше деталей, чтобы я мог отредактировать и сфокусировать свой ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...