“APISIX помог нам значительно повысить качество обслуживания в рамках активной-активной архитектуры. Его полноценная функция мониторинга эффективно поддерживает устранение неполадок, а обновление списка сервисов стало очень простым.”
Wenjie Shi
,
Senior Development Engineer at Infra Team

of RPC calls per day easily
in web traffic peak period
Основанная в 2010 году, Snowball Finance начинала как инвестиционное сообщество и теперь стала ведущей платформой для управления финансами в Китае.
На данный момент платформа собрала пользовательскую базу, превышающую 43 миллиона человек, захватив 24% доли рынка в Китае. Платформа насчитывает более 2,95 миллиона активных пользователей в месяц.
До использования Apache APISIX в системе было много недостатков.
Сложные модули аутентификации SDK увеличивают сложность системы и риски безопасности, когда пользовательский центр доступен в разных регионах из-за активной-активной архитектуры, доступной только в модуле рыночных услуг.
OpenResty не имеет надежной системы мониторинга для наблюдаемости и требует настройки скриптов для достижения масштабируемости, что приводит к более высоким затратам на разработку и эксплуатацию.
Неполный центр регистрации NGINX без механизма проверки работоспособности снижает доступность и стабильность, что делает невозможным оперативное устранение сбоев в системе.
Использование API-шлюза для единого управления аутентификацией. Snowball Finance заменила оригинальную JWT-аутентификацию на плагин jwt-auth APISIX и использовала плагин grpc-transcode для обработки предыдущей аутентификации, связанной с OAuth 2.0.
Установка многомерного мониторинга с плагином Prometheus APISIX для следующих метрик: статус соединения NGINX и входящий/исходящий трафик, частота ошибок HTTP и задержка запросов APISIX.
Использование официального плагина APISIX apisix-seed для интеграции с ZooKeeper для обнаружения сервисов.
Внутри Snowball Finance количество RPC-вызовов достигает около десятков миллиардов в день, а пиковый объем может достигать 50 000 QPS, что может привести к высокой задержке. Наше решение легко справляется с такими условиями. Построенное на основе NGINX и LuaJIT, наше решение может обрабатывать трафик со скоростью до 18 000 QPS на одно ядро процессора с задержкой всего 0,2 мс.
Отсутствие единых методов аутентификации в оригинальной архитектуре приводит к плохой масштабируемости и громоздким процессам. Snowball Finance ожидает, что новый шлюз будет обладать сильной масштабируемостью. Наше решение поддерживает более 100 плагинов, что позволяет быстро адаптироваться к изменениям бизнеса Snowball Finance.
Основной стек технологий внутри Snowball Finance связан с gRPC, поэтому требуется новый шлюз для пересылки и вызова сервисов на уровне шлюза, а также поддержка перевода протоколов. Наше решение может выполнять такие функции, как балансировка нагрузки, ограничение скорости и аутентификация, а также переводить между протоколами для поддержки различных типов клиентов.
Snowball Finance надеется реализовать аутентификацию на уровне шлюза и требует, чтобы стоимость преобразования была относительно низкой. Наше решение поддерживает различные методы аутентификации, такие как Keycloak, OAuth и Okta, а операция проста и визуализирована, что эффективно помогает Snowball Finance снизить затраты на аутентификацию.
Snowball Finance реализовала единую аутентификацию, разрыв цепи и ограничение скорости на уровне шлюза, снизив связность системы и улучшив качество обслуживания в сценариях с двумя центрами обработки данных.
Snowball Finance установила единое решение для мониторинга от шлюза до уровня сервиса, используя плагин Prometheus APISIX, и предоставила отличную поддержку для глобального устранения неполадок.
Наше решение предоставило Snowball Finance элегантный подход к реализации перевода протоколов gRPC и управлению сервисами.
Решение API7 демонстрирует удивительно высокую эффективность в реальных производственных сценариях. Нам нравится его высокая доступность, производительность и богатый функционал, что позволяет нам строить и развивать наш бизнес в облачно-ориентированном стиле.
Коммерческая поддержка API7 отлично подходит для контроля безопасности и комплексной поддержки. Мы выбрали API7 также потому, что он прекрасно поддерживает k8s.
После сравнения некоторых популярных продуктов для шлюзов, мы обнаружили, что задержка отклика Apache APISIX более чем на 50% ниже, чем у других шлюзов, и Apache APISIX продолжает стабильно работать даже при загрузке процессора более 70%.