2016-03-29 3 views
4

Я ищу масштабирование mysql на рое, которое потенциально может быть связано с несколькими серверами. Каков наилучший способ обеспечить синхронизацию данных между контейнерами на разных серверах?Масштабирование mysql в Docker

Я понимаю, что в стандартной конфигурации без докеров мне нужно настроить репликацию. Мне интересно, есть ли способ сделать это, что более удобно и легко развертывать с докером.

ответ

3

Docker-compose and docker swarm является отличным инструментом для масштабирования в докерах сред. Но в настоящее время MySQL-DB scaling is not possible in docker-compose or docker-swarm. Причины:

  • Скейлинговые подходят для лиц без контейнеров

  • конфигурации, не представляется возможным для мастер-раба в Докер-роя

  • Нет способа репликации доступны в Докер наложенной сети

Возможно, в будущем у нас будет такая технология, позволяющая масштабировать РСУБД.

+0

Как насчет таких услуг, как Редис? Если мы говорим только о кешировании (не pub-sub и других сотрудников Redis), можно будет получить промахи после переподключения, да? Просто если балансировка нагрузки решит переключить вас на другой узел ... – QtRoS

+0

Я еще не тестировал его, но как насчет кластера galera? Это должно запускать большинство приложений mysql. Реализация: https://github.com/colinmollenhour/mariadb-galera-swarm – Trendfischer

1

Для этого предназначена репликация базы данных.

https://dev.mysql.com/doc/refman/5.7/en/replication.html

+0

Вот как я определенно сделаю это в неприсоединившейся среде. Мне просто интересно, был ли более конкретный способ контейнеров для этого. –

+0

@ kevin.coyle: Я не понимаю, почему в Докере должно быть что-то другое. –

+0

Этот ответ кажется мне так 1930-м :-) Хотя я согласен, что это то, для чего используется репликация базы данных, приходите, если у нас это будет в Docker Swarm, а основной экземпляр - вниз, можно ли переключиться автоматически? Запрошенные умы хотят знать ... – JoeG