- 20, Oct 2024
- #1
Учитывая (в будущем, не в настоящее время):
- 100 мультитенантных микросервисов
- 5000 клиентов (или арендаторов)
- каждый микросервис должен иметь возможность хранить данные каждого арендатора
- данные управляются в реляционных базах данных, поскольку требуются транзакции ACID (по каким-либо причинам)
- Я полностью осознаю ограничение масштабирования таких баз данных. Предположим, что за арендатора объем данных, а также интенсивность запросов не требуют дополнительных требований к масштабированию.
- Облако Azure (это то, что есть :-()
Из них я делаю следующие выводы:
База данных на одного арендатора.
Хотя мы предполагаем, что за арендатора объем данных и интенсивность запросов не гарантируют расширенного масштабирования, если в одну базу данных «вставлено» более одного арендатора, это предположение может больше не соответствовать действительности.
N баз данных на сервер БД
Теоретически серверы БД могут содержать тысячи баз данных. Однако мы хотим минимизировать количество сбитых арендаторов, если «пригодность наступит». Следовательно, N не будет тысячами. Но, наверное, десятки.
Каждый сервер БД имеет выделенное развертывание микросервиса, связанное только с ним.
Таким образом, сервер БД Х может обслуживать запросы от микросервиса А версии 1 и сервер БД Да может обслуживать запросы от микросервиса А версии 2. Схема БД в этих версиях может отличаться.
Таким образом, эти выводы приводят к множеству вопросов:
- Что такое Н?
- 50 ?
- 100 ?
- Какую базу данных использовать?
- База данных Azure для PostgreSQL
- База данных Azure для MySQL
- База данных SQL Azure
- Серверы БД 5000/N для охвата всех клиентов одного микросервиса. Для 100 микросервисов это дает 500 000/N серверов БД. Например.:
- N = 50 --> 10 000 серверов БД (развертываний)
- N = 100 --> 5000 серверов БД (развертываний)
Это множество серверов БД и множество развертываний микросервисов. Предположим, для каждого развертывания требуется 2 узла веб-сервера. Это означает 20 000 (или 10 000) узлов веб-сервера! При добавлении геоизбыточности это означает удвоение количества узлов веб-серверов, а также серверов БД (чтобы иметь возможность переключения в другой регион). Это сумасшедшее количество серверов БД и узлов веб-серверов.
Я ошибаюсь в корне в некоторых своих предположениях? Что мне не хватает?
#базы данных #микросервисы #мультиарендность