У меня есть сервер с 5 или 6 небольшими приложениями Rails. Все их прикрепленные файлы находятся на S3, и все они используют MySQL в качестве базы данных. Каждое приложение имеет своего собственного пользователя и выполняет некоторые тонкости. Существует сервер nginx, выполняющий балансировку нагрузки и маршрутизацию домена.Архитектура сервера приложений для докеров в отношении базы данных
Я планирую заменить этот сервер установкой Docker: один сервер с одним контейнером для каждого приложения, с nginx спереди.
Мой вопрос: где бы вы поделили базу данных?
В основном я видеть 4 возможности:
1) Один сервер Mysql внутри каждого приложения контейнера. Думаю, это швы не являются философией Докера. Это потребовало бы, чтобы данные каждого контейнера были подкреплены индивидуально.
2) Уникальный контейнер MySQL для всех приложений.
3) Стандартная установка MySQL на сервере-докере хоста.
4) Отдельный сервер MySQL для всех приложений.
Что вы хотите сделать?
PS: Я знаю, что Docker еще не готов к производству, я планирую использовать его для постановки в данный момент и переключиться, если я доволен им.
Спасибо! Да, приложения аналогичны, за исключением их Rails и Ruby версий, это просто стандартные приложения Rails и их зависимости. Нет необходимости в масштабировании или репликации, просто базовые (почти устаревшие) веб-сайты с несколькими функциями. – aurels