Как Airwallex использует Apache APISIX для оптимизации глобальных платежей?
Yang Li
November 3, 2021
Обзор
Проблемы
- Значительная проблема в управлении данными по мере расширения бизнеса Airwallex по всему миру
- Сложное управление различными системами и их взаимосвязью вызывает проблемы в других системах при возникновении одной проблемы
Результаты
- Стабильная производительность в течение 15 месяцев работы в производственной среде
- 99% задержек ответа находятся в пределах 23 мс при включении динамической маршрутизации, многоарендного ограничения скорости, многоарендного белого списка IP-адресов, аутентификации и авторизации
- Безопасная и эффективная поддержка суверенитета данных, охватывающего более 50 валют в более чем 130 странах и регионах
О Airwallex
Как глобальная финтех-компания, Airwallex создала глобальную финансовую платформу, чья платежная сеть охватывает более 50 валют в более чем 130 странах и регионах по всему миру, и предоставляет цифровые финтех-продукты для предприятий.

Эта статья основана на интервью с Ян Ли, доктором наук, коммиттером Apache APISIX и техническим руководителем платформы Airwallex, который отвечает за эволюцию технологической платформы Airwallex.
Суверенитет данных представляет вызов для Airwallex
Суверенитет данных становится все более важным в управлении данными в киберпространстве. Airwallex обслуживает пользователей в различных регионах, что естественно связано с проблемой суверенитета данных.
Раньше, без требований суверенитета данных, данные могли размещаться в Европе и синхронизироваться с Азией или любым другим центром обработки данных в мире. Схема взаимодействия данных выглядела следующим образом:

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

В результате суверенитет данных представляет собой значительный вызов для глобального бизнеса Airwallex. Airwallex намерена перенести данные из Европы в другие регионы, и она должна обеспечить, чтобы требования третьих стран к суверенитету данных соответствовали требованиям ЕС.
Почему Airwallex выбирает APISIX?
При выборе API-шлюза Airwallex в основном сравнивала основные продукты шлюзов по шести параметрам:
-
Стабильность: Airwallex уделяет большое внимание обеспечению стабильности API-шлюза. Среди 1000 лучших сайтов в мире 62,1% основаны на NGINX, что показывает, что веб-серверы на основе NGINX прошли испытания в сложных и разнообразных сценариях в производственной среде. Apache APISIX основан на NGINX. Кроме того, дизайн полностью динамической функции Apache APISIX также позволяет изменять маршрут без перезагрузки и поддерживать длительное соединение клиента. Кроме того, Airwallex также провела стресс-тесты Apache APISIX, который может стабильно работать при использовании CPU более 70%.
-
Производительность: Каждый API-запрос проходит через API-шлюз. Снижение потери производительности шлюза может значительно сократить общее время ответа API Airwallex.
"В PoC мы сравнили основные продукты шлюзов: задержка ответа Apache APISIX более чем на 50% ниже, чем у других шлюзов. Кроме того, независимая плоскость данных Apache APISIX позволяет создавать независимые экземпляры в кластерах, что делает его изначально поддерживающим горизонтальное масштабирование." - сказал Ли.
-
Масштабируемость: Airwallex нуждается в APISIX как в API-шлюзе, который поддерживает сложные аутентификацию, управление правами, обнаружение сервисов, ограничение скорости, снижение нагрузки, балансировку нагрузки, белый список и динамическую маршрутизацию.
-
Активное сообщество: Активное сообщество является ключевым для API-шлюза, чтобы идти в ногу с темпами технологической эволюции.
Сообщество Apache APISIX было активным с момента, когда оно еще было инкубационным проектом Apache, судя по количеству участников, времени ответа на проблемы и количеству Pull Requests. - поделился Ли.
-
Частное развертывание: API-шлюз является ключевым компонентом технической архитектуры Airwallex, и он развертывает API-шлюз на краю своей частной сети. Apache APISIX имеет хорошую адаптируемость к среде и может быть легко развернут в различных средах, включая облачные платформы.
-
Бизнес-дружественная лицензия с открытым исходным кодом: Лицензия Apache 2.0 позволяет Airwallex изменять код APISIX и коммерциализировать его, не беспокоясь о привязке к поставщику.
Интеллектуальное решение маршрутизации Apache APISIX
Airwallex выбирает Apache APISIX для создания интеллектуального решения маршрутизации, и именно шлюз Apache APISIX решает, где должны обрабатываться данные.

Шлюз состоит из двух слоев. Первый слой отвечает за маршрутизацию запросов, определяя, в какой центр обработки данных должен попасть запрос на основе условий. Второй слой отвечает за пересылку трафика.
Кроме того, Airwallex реализовала основные функции как пользовательские плагины, чтобы обновляться до новой версии Apache APISIX в любое время. Таким образом, не будет никакой гонки между библиотекой кода Airwallex и основным кодом репозитория Apache APISIX. Однако иногда необходимо изменять основной код. В это время Ли старается реализовать эти функции в сообществе с открытым исходным кодом. Участники сообщества очень активно обсуждают реализацию функций, и в большинстве случаев они могут быстро предоставить доступные решения.
Как Airwallex выигрывает от использования APISIX?
Ниже приведена схема интеграции Airwallex с APISIX.

Airwallex использует Apache APISIX как ключевой компонент модели микросервисного шлюза. Он развернут на краю сети и предоставляет общую функцию шлюза для всего трафика, поступающего в Airwallex. Проблемы, которые он решает, включают:
-
Суверенитет данных: Для финансовой инфраструктуры, работающей через границы, суверенитет данных является критическим регуляторным требованием. Для этого Airwallex разработала плагин динамической маршрутизации, соответствующий требованиям, используя возможности динамического выбора вышестоящих серверов Apache APISIX. Динамическая маршрутизация может интеллектуально выбирать вышестоящие серверы для распределения запросов в соответствии с характеристиками пользовательских запросов, абстрагируя сложные проблемы взаимодействия нескольких центров обработки данных от уровня сервиса до уровня шлюза. Суть динамической маршрутизации заключается в ответе на два вопроса: как группировать вышестоящие серверы и как сопоставлять запросы и группы.
-
Изоляция в микросервисах: Airwallex надеется, что инженерные команды каждого микросервиса могут независимо контролировать свои собственные сервисы, эффективно снижать затраты на коммуникацию и координацию и повышать инженерную эффективность. Эта архитектурная концепция требует, чтобы инфраструктурные компоненты, используемые различными командами, такие как API-шлюз, могли поддерживать изоляцию арендаторов. APISIX идеально подходит для удовлетворения изоляции арендаторов. Обеспечивая надежность и контроль затрат всей системы, APISIX позволяет бизнес-командам настраивать и расширять функции шлюза в соответствии с их собственными потребностями, сохраняя независимость команд микросервисов и сервисов.
-
Многоарендное ограничение скорости: В многоарендной среде характеристики трафика каждого арендатора различны. Применение одинакового ограничения скорости к разным арендаторам не может удовлетворить коммерческие потребности. Многоарендное ограничение скорости может быть более подходящим на основе характеристик пользователей.
-
Многоарендный белый список IP-адресов: IP-адрес доступа каждого арендатора различается в многоарендной среде. Многоарендный белый список IP-адресов позволяет каждому арендатору контролировать свой собственный белый список, не беспокоясь о вторжении других пользователей в свои ресурсы.
-
Аутентификация: Частое обновление ключей является критическим звеном для обеспечения безопасности пользовательских ресурсов. APISIX поддерживает не только аутентификацию запросов, но и динамическое обновление ключей.
-
Авторизация: Управление правами в корпоративных приложениях очень сложно, и разные сценарии применения имеют совершенно разные модели управления правами. APISIX может проверять, имеет ли запрашивающий пользователь достаточные права для доступа к интерфейсу в соответствии с конфигурацией маршрутизации и перехватывать незаконный трафик с первого раза.
Производственная среда Airwallex работает уже 15 месяцев, и общая производительность чрезвычайно стабильна. Около 99% задержек ответа находятся в пределах 23 мс при включении динамической маршрутизации, многоарендного ограничения скорости, многоарендного белого списка IP-адресов, аутентификации, авторизации и других функций.
Благодаря отличному механизму плагинов Apache APISIX, Airwallex может добавлять частные плагины, соответствующие бизнес-потребностям, без изменения основного кода. Полная система тестирования дополнительно гарантирует качество программного обеспечения, и вы можете безопасно добавлять персонализированные требования к плагину, обеспечивая при этом, что исходная основная логика не будет повреждена.
Планы на будущее
Последующие планы Airwallex в основном включают три аспекта:
-
Использование многоуровневой сети для разделения логики шлюза на разные уровни, такие как распределение трафика в соответствии с суверенитетом данных или другой логикой шлюза.
-
Легкочитаемое и удобное управление маршрутизацией критически важно для успеха API-шлюза. Управление маршрутизацией должно быть дружественным для разработчиков, чтобы разработчики могли легко понять, что шлюз может сделать для них, и как его настроить и опубликовать.
-
Использование цветовых кодов запросов для помощи в тестировании производственной среды. Использование цветовых кодов запросов API-шлюза для реализации тестирования производственной среды может принести больше гибкости и удобства.
Ищете поддержку APISIX?
Apache APISIX - это открытый, динамический, масштабируемый и высокопроизводительный облачный API-шлюз для всех ваших API и микросервисов. Будучи переданным в Apache Software Foundation компанией API7.ai, APISIX вырос в топовый проект с открытым исходным кодом Apache.
Хотите ускорить разработку с уверенностью, как Airwallex? Чтобы максимально использовать поддержку APISIX, вам нужен API7. Мы предоставляем глубокую поддержку APISIX и решения для управления API на основе ваших потребностей!
Свяжитесь с нами сейчас: https://api7.ai/contact.
Больше о собеседнике:
