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

OSCHINA-MIRROR/gitcrazy-cetus

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
cetus-architecture.md 4.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 15:50 8feb600

Архитектура и реализация Cetus

1. Общая архитектура

Cetus имеет сетевую архитектуру, представленную на рисунке ниже:

Архитектура Cetus

Cetus находится между приложением и базой данных MySQL, выступая в роли посредника между фронтенд-приложением и базой данных. Фронтенд-приложение подключается к узлу LVS, который перенаправляет запросы на несколько сервисов Cetus. Сервисы Cetus, в свою очередь, подключаются к базе данных через собственный пул соединений.

2. Функциональная реализация

1. Функциональные модули

Основные функциональные модули Cetus включают пять компонентов:

  1. Разделение чтения и записи.
  2. Распределение по базам данных.
  3. Анализ SQL.
  4. Пул соединений.
  5. Функции управления.

Взаимодействие между функциональными модулями представлено на следующем рисунке:

Функциональные модули Cetus

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

2. Рабочий процесс

Общий рабочий процесс Cetus представлен на следующем рисунке:

Рабочий процесс Cetus

Рабочий процесс включает следующие шаги:

  1. Cetus загружает конфигурационные файлы и другие настройки, после чего начинает работу, отслеживая запросы от клиентов.

  2. После получения запроса на новое соединение от клиента, Cetus проверяет авторизацию пользователя и количество доступных соединений в пуле. Если ограничений нет, устанавливается новое соединение.

  3. После успешного установления соединения и аутентификации, Cetus получает SQL-запрос от клиента и анализирует его. Затем выбирается соответствующая база данных и запрос отправляется на обработку.

  4. После обработки запроса на сервере, результаты возвращаются в Cetus, где они объединяются и модифицируются перед отправкой клиенту.

  5. При получении запроса на закрытие соединения от клиента, Cetus решает, нужно ли закрыть соединение с сервером базы данных.

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

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

1
https://api.gitlife.ru/oschina-mirror/gitcrazy-cetus.git
git@api.gitlife.ru:oschina-mirror/gitcrazy-cetus.git
oschina-mirror
gitcrazy-cetus
gitcrazy-cetus
master