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

OSCHINA-MIRROR/flikecn-kingshard

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README_ZH.md 7.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 17.03.2025 01:22 b227ee9

Статус сборки

Введение в kingshard

Kingshard — это проект высокопроизводительного прокси MySQL, написанный на Go. Kingshard обеспечивает базовую функциональность разделения чтения и записи, а также упрощает работу с распределёнными таблицами MySQL. Это позволяет DBA легко и плавно масштабировать MySQL-базы данных через kingshard. Производительность kingshard составляет более 80% производительности прямого соединения с MySQL. Для использования kingshard в продакшене, пожалуйста, скачайте последнюю версию с страницы релизов!!

Основные возможности:

1. Базовые возможности- Поддержка разделения чтения и записи SQL.

  • Поддержка прозрачного пула соединений MySQL, который позволяет использовать существующие соединения вместо создания новых.

  • Возможность плавного добавления или удаления баз данных без изменения работы приложений.

  • Поддержка нескольких slave серверов с балансировкой нагрузки по весовым коэффициентам.

  • Поддержка принудительной выборки данных из основной базы данных.

  • Поддержка подготовленных запросов (prepared statements) для популярных языков программирования (Java, PHP, Python, C/C++, Go).

  • Управление максимальным количеством соединений с базой данных.

  • Ведение логов SQL и медленных запросов.

  • Чёрный список SQL-запросов.

  • Белый список IP-адресов клиентов, доступ к которым ограничен только белым списком (включая диапазон IP-адресов).

  • Настройка набора символов.

  • Поддержка функции last_insert_id.

  • Динамическое изменение конфигурации kingshard через перезагрузку файла конфигурации (подробнее см. команды управления).

  • Управление kingshard через Web API.

  • Поддержка многопользовательских режимов, где каждому пользователю предоставляется свой набор таблиц с ограничением прав доступа.### 2. Возможности шардинга

  • Поддержка хеш-распределения и диапазонного распределения целых чисел.

  • Распределение таблиц по годам, месяцам и дням.

  • Распределение таблиц между несколькими узлами.

  • Выполнение агрегирующих функций COUNT, SUM, MAX и MIN между узлами.

  • Поддержка JOIN операций для одной распределённой таблицы.

  • Поддержка операций ORDER BY, GROUP BY и LIMIT между узлами.

  • Отправка SQL-запросов на конкретные узлы.

  • Выполнение транзакций на одном узле, но не поддерживаются распределённые транзакции между несколькими узлами.

  • Обновление таблиц на нескольких узлах без использования транзакций (INSERT, DELETE, UPDATE, REPLACE).

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

Установка и использование kingshard

1. Установка kingshard

2. Как использовать промежуточное соединение для расширения MySQL-кластера — руководство по использованию kingshard

3. Описание шардинга в kingshard

4. Описание функции распределения таблиц по времени в kingshard

5. Быстрый старт с kingshard

6. Описание команд администрирования

7. Описание Web API интерфейсов администрирования

8. Описание черного списка SQL в kingshard

9. Часто задаваемые вопросы по kingshard### Архитектура и дизайн kingshard

1. Архитектурный дизайн и реализация функционала kingshard

2. Оптимизация производительности kingshard — сетевой аспект

3. Отчет по тестированию производительности kingshard

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

  • Спасибо автору mixer siddontang, первая версия kingshard была создана на основе mixer.
  • Спасибо bigpyer за подробное тестирование производительности kingshard и составление отчета.
  • Спасибо всем открытым любителям за вклад в развитие kingshard.

Список пользователей kingshard

https://github.com/flike/kingshard/issues/148

Обратная связь

С момента выпуска kingshard как открытого проекта он прошел множество этапов развития, что привело к значительному повышению его функциональности и надежности. На данный момент более чем 50 компаний используют kingshard в качестве прокси MySQL в своих рабочих средах. Если вы столкнулись с ошибками при использовании kingshard или хотите предложить новые функции, пожалуйста, отправьте электронное письмо на flikechen@qq.com или присоединитесь к QQ группе (147926796) для обсуждения.Пожалуйста, следите за официальным каналом новостей Backend Technology News, где будут публиковаться последние новости о kingshard и статьи по теме архитектуры backend.

Иконка WeChat

Лицензия

Проект kingshard использует лицензию Apache 2.0. Для получения информации о лицензии обратитесь к этому разделу

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/flikecn-kingshard.git
git@api.gitlife.ru:oschina-mirror/flikecn-kingshard.git
oschina-mirror
flikecn-kingshard
flikecn-kingshard
master