1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/gocloud-kingbus

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Что такое Kingbus?

Kingbus — это распределённое хранилище MySQL binlog на основе Raft. Kingbus может выступать в роли ведомого по отношению к реальному мастеру и в качестве мастера для ведомых, аналогично промежуточному мастеру MySQL. Kingbus обладает следующими ключевыми особенностями:

  • Совместимость с протоколом репликации MySQL, вытягивание файлов binlog с мастера через режим gtid и проталкивание файла binlog ведомому через режим gtid аналогичным образом.
  • Георепликация. Kingbus использует Raft для поддержки георепликации. Данные binlog, записываемые в кластер, гарантированно согласованы между несколькими узлами, а порядок событий binlog точно такой же, как у мастера.
  • Высокая доступность. Ваша репликация MySQL binlog всегда включена и постоянно доступна с помощью Kingbus.

Зачем нужен Kingbus? В традиционной настройке репликации MySQL создаётся один главный сервер и настраивается набор ведомых серверов MySQL для извлечения файлов binlog от мастера, что создаёт большую нагрузку на мастер.

  • Введение слоя между главным сервером и ведомыми серверами может снизить нагрузку на главный сервер, обслуживая только Kingbus вместо всех ведомых.
  • Ведомым нужно будет знать только о Kingbus, а не о реальном главном сервере. Устранение необходимости для ведомых иметь информацию о мастере также упрощает процесс замены вышедшего из строя главного сервера в среде репликации.
  • Kingbus позволяет нам горизонтально масштабировать наших ведомых без страха перегрузки сетевого интерфейса мастера.
  • Kingbus также можно использовать для избежания глубоко вложенной репликации на удалённых площадках. С Kingbus вам не нужна глубоко вложенная репликация.
  • Размер пространства хранения binlog на главном сервере может быть уменьшен, и binlog можно хранить в Kingbus.
  • Поддержка разнородной репликации базы данных MySQL. Другие разнородные компоненты репликации могут быть подключены к Kingbus, такие как Canal.

Для получения дополнительной информации об использовании сервера binlog обратитесь к блогу или к статье о сервере binlog в Facebook.

Быстрый старт Прочитайте Быстрый старт.

Документация

  1. Введение в API управления Kingbus.
  2. Запуск кластера Kingbus с docker-compose.

Лицензия Kingbus находится под лицензией Apache 2.0. Подробности смотрите в файле LICENSES.

Благодарности

  • Спасибо etcd за предоставление библиотеки raft.
  • Спасибо go-mysql за предоставление парсера протокола репликации MySQL.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Kingbus — это распределённая система хранения MySQL binlog, основанная на реализации протокола Raft для обеспечения строгой согласованности. Она может выступать в роли MySQL Slave и синхронизировать binlog с реального Master, сохраняя данные в распределённом кластере. Также она может работать как MySQL Master и синхронизировать binlog из кластер... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/gocloud-kingbus.git
git@api.gitlife.ru:oschina-mirror/gocloud-kingbus.git
oschina-mirror
gocloud-kingbus
gocloud-kingbus
master