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

OSCHINA-MIRROR/mirrors-Cetus

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

Архитектура и реализация 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-запросы от клиента, выполняет лексический и семантический анализ, анализирует тип запроса SQL, при необходимости модифицирует запрос и выбирает соответствующую базу данных для пересылки запроса.
  4. Ожидает обработки запроса от базы данных, получает результаты запроса, объединяет и модифицирует их, после чего отправляет клиенту.
  5. Если клиент запрашивает закрытие соединения, Cetus решает, следует ли закрыть соединение с базой данных, и закрывает его при необходимости.

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

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

1
https://api.gitlife.ru/oschina-mirror/mirrors-Cetus.git
git@api.gitlife.ru:oschina-mirror/mirrors-Cetus.git
oschina-mirror
mirrors-Cetus
mirrors-Cetus
master