Решение API7: Высокая доступность для B2B-сервисов

January 3, 2024

Technology

В процессе общения с клиентами часто возникает ключевой вопрос: "Обеспечиваете ли вы высокую доступность? И как?"

API7 Enterprise предоставляет компоненты для развертываний высокой доступности, управляемых заказчиком. Доступность зависит от архитектуры развертывания, инфраструктурных зависимостей и эксплуатации заказчика; для самостоятельно размещаемого API7 Enterprise не устанавливается процент доступности на уровне продукта.

В бизнес-среде высокая доступность API-сервисов особенно важна, так как она напрямую влияет на непрерывность и надежность работы клиентов. Почему высокая доступность так важна для B2B-бизнеса? Потому что, как ключевой показатель, любое прерывание или сбой API-сервисов в критический момент может серьезно повлиять на бизнес клиента, что приведет не только к финансовым потерям, но и потенциально нанесет ущерб репутации и доверию клиента.

Как API7 поддерживает развертывания с высокой доступностью?

Высокая доступность — это техническая и бизнес-цель. В следующих разделах описаны компоненты API7 Enterprise, которые могут помочь построить отказоустойчивое развертывание; сами по себе эти механизмы не устанавливают обязательство по доступности сервиса.

Бессерверная плоскость управления

Плоскость управления API7 Enterprise использует компоненты приложений без состояния, позволяя независимо перезапускать или масштабировать экземпляры. Такая архитектура может облегчить восстановление после сбоев и планирование ресурсов, однако фактическая доступность по-прежнему зависит от базы данных, балансировки нагрузки, инфраструктуры и эксплуатации заказчика.

PostgreSQL как центр конфигурации по умолчанию

API7 Enterprise использует PostgreSQL в качестве хранилища конфигурации по умолчанию вместо etcd, используемого APISIX. PostgreSQL поддерживает распространенные схемы репликации и переключения, но заказчик должен выбрать, настроить, контролировать и протестировать подходящую топологию. Резервная база данных может сократить время восстановления после отказа основного узла, но сама по себе не гарантирует доступность конфигурации или сервиса.

Высокая доступность API7 Enterprise

Бессерверная плоскость данных

Плоскость данных обрабатывает бизнес-трафик и основана на APISIX. Ее компоненты без состояния можно масштабировать или заменять. Вместе с резервными экземплярами, проверками работоспособности, достаточной емкостью и балансировкой нагрузки такая архитектура может уменьшить последствия отказа экземпляра; непрерывность сервиса по-прежнему зависит от всего развертывания, управляемого заказчиком.

Независимость плоскости данных и плоскости управления

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

Сценарии использования и преимущества архитектуры высокой доступности

Заказчики могут развернуть резервные экземпляры за балансировщиком нагрузки с проверками работоспособности или использовать проверки и замену в Kubernetes. Эти механизмы могут обнаруживать и заменять некоторые отказавшие компоненты, но их эффективность зависит от правильной настройки, резервной емкости, инфраструктурных зависимостей и эксплуатационных испытаний.

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

Заключение

API7 Enterprise предоставляет механизмы высокой доступности для развертываний, управляемых заказчиком. Эти механизмы могут снизить влияние сбоев, однако фактическая доступность сервиса зависит от архитектуры развертывания, инфраструктурных зависимостей и эксплуатации заказчика.

Tags:
Share article link