Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье рассматриваются необходимые сведения для развертывания кластера MongoDB на Службе Azure Kubernetes (AKS). Он также содержит общие сведения о стратегии развертывания.
Внимание
Программное обеспечение с открытым кодом упоминается во всей документации и примерах AKS. Развертываемое программное обеспечение исключается из соглашений об уровне обслуживания AKS, ограниченной гарантии и поддержки Azure. При использовании технологии с открытым исходным кодом вместе с AKS ознакомьтесь с вариантами поддержки, доступными от соответствующих сообществ и обслуживающих проектов для разработки плана.
Корпорация Майкрософт несет ответственность за создание пакетов с открытым кодом, которые мы развертываем в AKS. Эта ответственность включает полное управление процессом сборки, сканирования, подписи, проверки и исправления, а также контроль над двоичными файлами в образах контейнеров. Дополнительные сведения см. в статье об управлении уязвимостями для поддержки AKS и AKS.
Что такое MongoDB?
MongoDB — это популярная система управления базами данных NoSQL, предназначенная для обработки больших объемов неструктурированных данных. В отличие от традиционных реляционных баз данных, использующих таблицы и строки, MongoDB использует гибкий подход, ориентированный на документ.
Примечание.
MongoDB Community Edition не является программным обеспечением с открытым исходным кодом. Она лицензирована в общедоступной лицензии на стороне сервера с "доступным источником".
Сегментированные кластеры MongoDB
Сегментированные кластеры MongoDB обрабатывают большие наборы данных и высокую пропускную способность путем распределения данных между несколькими серверами или сегментами. Эта архитектура обеспечивает горизонтальное масштабирование, важное для приложений, имеющих растущие потребности в данных и производительности.
Ниже приведены сведения о ключевых компонентах и его работе.
- Сегменты: отдельные экземпляры MongoDB, называемые сегментами, содержат подмножества данных. Каждый сегмент представляет собой набор реплик или группу экземпляров MongoDB, которые реплицируют данные между собой. Наборы реплик помогают обеспечить высокий уровень доступности и отказоустойчивость.
- Серверы конфигурации: серверы, в которых хранятся метаданные и параметры конфигурации для сегментированного кластера, называются серверами конфигурации. Они отслеживают распределение и маршрутизацию данных кластера. Как правило, кластер имеет три сервера конфигурации для обеспечения избыточности.
- Экземпляры Mongos: Mongos — это служба маршрутизации, которая направляет клиентские запросы к соответствующему сегменту. Он выступает в качестве посредника между клиентом и шардами. Экземпляр Mongos управляет маршрутизацией запросов и объединяет результаты из сегментов.
- Ключ сегментов: если данные распределяются по сегментам, он основан на ключе сегментов, который является одним индексированным полем или несколькими полями в документах. Ключ сегментов определяет, как данные секционируются между сегментами. Хорошо выбранный ключ шардирования помогает обеспечить равномерное распределение данных и эффективное выполнение запросов.
- Распределение данных: данные распределяются по сегментам на основе ключа сегментов. Это распределение помогает эффективно распределять нагрузку и управлять большими наборами данных. MongoDB использует стратегию шардинга на основе диапазона или хэша, в зависимости от ключа шардинга.
- Высокий уровень доступности: каждый сегмент является набором реплик, что означает, что он реплицирует свои данные на нескольких узлах. Эта настройка гарантирует, что данные остаются доступными даже в случае сбоя одного или нескольких узлов.
Оператор Percona для MongoDB
Оператор Percona для MongoDB — это инструмент с открытым кодом, разработанный Percona . Он автоматизирует развертывание, управление и масштабирование кластеров MongoDB в средах Kubernetes. Это упрощает операции, обрабатывая такие задачи, как подготовка, масштабирование, резервное копирование и восстановление. Его обработка всех этих задач помогает обеспечить высокий уровень доступности и производительность кластеров MongoDB.
Оператор использует пользовательские определения ресурсов Kubernetes (CRD) для декларативного управления конфигурациями MongoDB и для обработки отказов, мониторинга и оповещений. Результатом является сокращение административных затрат и согласованных методов управления. Оператор Percona повышает эффективность и надежность развертываний MongoDB, особенно в облачных приложениях. Это идеально подходит для сценариев разработки, тестирования и эксплуатации.
Обзор решения MongoDB
Цель предлагаемого решения состоит в том, чтобы:
- Убедитесь, что кластер MongoDB может эффективно обрабатывать большие наборы данных и операции с высокой пропускной способностью.
- Обеспечение высокого уровня доступности и отказоустойчивости.
Решение выполняет эту задачу с помощью наборов реплик, правил защиты от сходства и правильного выделения ресурсов.
Стратегия развертывания
Стратегия развертывания MongoDB состоит из следующих компонентов:
- Сегментированные кластеры, позволяющие распределять данные по нескольким сегментам, повышая масштабируемость и производительность.
- Серверы конфигурации, управляемые тремя серверами реплики, чтобы обеспечить отказоустойчивость и высокую доступность. Правила защиты от сходства распределяют эти серверы между доменами сбоев.
- Три экземпляра Mongos распределены по зонам доступности и доступны изнутри кластера. Они обеспечивают балансировку нагрузки и устойчивость для маршрутизации клиентских запросов.
Соавторы
Корпорация Майкрософт поддерживает эту статью. Следующие участники первоначально написали:
- Кетан Чавда | Старший инженер клиента
- Naveed Харади | Инженер по работе с клиентами
- Nelly Kiboi | Инженер службы
- Saverio Proto | Главный инженер по работе с клиентами
- Don High | Главный инженер клиента
- Лабрина Любя | Инженер основной службы
- Кен Килти | Основной руководитель программы
- Рассел де Пина | Главный TPM
- Колин Миксон | Product Manager
- Эрин Шаффер | Разработчик содержимого 2
- Кэрол Смит | Старший разработчик содержимого