APISIX повышает производительность системы для предприятия по управлению рисками

Jing Yan

Jing Yan

January 23, 2024

Case Study

Обзор

О DataVisor

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

Проблемы

  • DataVisor сталкивается с критической задачей обеспечения эффективного выполнения расчетов контроля рисков для предотвращения потенциальных угроз.

  • Баланс между безопасностью и сохранением отличного пользовательского опыта представляет собой вызов для DataVisor.

  • Выбор стабильного, низколатентного инструмента API-шлюза имеет решающее значение для DataVisor, чтобы поддерживать бесперебойную работу системы.

Результаты

  • Используя APISIX, DataVisor упростила свои операции, достигнув большей гибкости благодаря упаковке специфических плагинов.

  • APISIX выделяется своей способностью существенно снижать задержки для DataVisor, что приводит к сокращению времени обработки пользовательских запросов.

  • DataVisor успешно обрабатывает крупномасштабные запросы, обеспечивая стабильность и надежность системы при высоких нагрузках с помощью APISIX, предоставляя надежную основу для управления всплесками пользовательского трафика.

Предыстория

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

В разработке продуктов DataVisor приняла комплексное решение для шлюзов и аутентификации. APISIX не является отдельным компонентом в экосистеме продукта; он сотрудничает с другими продуктами, такими как AWS API Gateway, Application Load Balancer (ALB), Imperva и интегрированным механизмом аутентификации OAuth. Все эти инструменты, каждый из которых оснащен функциональностью шлюза, работают вместе для облегчения доступа трафика в системе DataVisor.

APISIX_Datavisor

Проблемы до использования APISIX

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

  • Давление на производительность: В индустрии контроля рисков, где показатели производительности имеют решающее значение, DataVisor сталкивается с задачей обеспечения своевременного и эффективного выполнения расчетов контроля рисков. Задержки в этих расчетах могут привести к потере контроля над потенциальными рисками в этой конкурентной и подверженной рискам среде.

  • Баланс между безопасностью и пользовательским опытом: Основная цель задач контроля рисков — перехватить потенциально вредные действия пользователей, сохраняя при этом бесшовный пользовательский опыт. Система DataVisor должна обеспечивать безопасность пользователей, не нарушая естественного потока взаимодействий, что представляет собой сложный баланс.

  • Сложности с инструментами шлюзов, отвечающими требованиям: Многие инструменты API-шлюзов на рынке сталкиваются с проблемами, такими как высокая задержка или нестабильная производительность. Такие проблемы могут повлиять на стабильность и доступность системы DataVisor, особенно когда эффективное управление бизнес-трафиком имеет решающее значение. Поэтому выбор стабильного, низколатентного инструмента API-шлюза имеет решающее значение для поддержания бесперебойной работы системы.

Почему APISIX

При выборе решения для производственной настройки компании DataVisor тщательно сравнила варианты и остановилась на APISIX по нескольким причинам:

  1. Экономическая эффективность: По сравнению с базовыми шлюзами приложений от облачных провайдеров (таких как ALB), APISIX предлагает значительную экономию для наших операций.

  2. Высокая производительность, низкая задержка: APISIX выделяется своей выдающейся производительностью. В отличие от других инструментов API-шлюзов, APISIX не только избегает заметных задержек, но и менее подвержен скачкам производительности, таким как P99 или P9999, что обеспечивает более плавный опыт без значительных проблем с задержками.

  3. Ориентация на специфику отрасли: В области контроля рисков наша бизнес-система требует быстрого времени вычисления контроля рисков в 50 миллисекунд. Неспособность завершить это вычисление вовремя приводит к немедленному отклонению результата контроля рисков. Основная цель контроля рисков — перехватить потенциально вредные действия пользователей, не нарушая их нормальной деятельности.

Реализация APISIX

В настоящее время DataVisor расширяет использование APISIX в растущем числе бизнес-сценариев.

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

APISIX_Datavisor_process

Чтобы предоставить более конкретное понимание того, как мы реализуем APISIX в нашей производственной среде, ниже приведен типичный пример использования.

Клиент A инициирует доступ к нашей системе через красный маршрут для получения токена доступа авторизации. Затем он взаимодействует с внутренним сервером авторизации DataVisor или подключается к другим серверам авторизации, таким как широко используемый Okta, через APISIX. Основной механизм аутентификации компании заключается в маршрутизации всего трафика в Okta для начального процесса аутентификации.

После того как клиенты получают различные токены, возможности маршрутизации APISIX направляют этот аутентифицированный трафик в различные кластеры Kubernetes. В настоящее время DataVisor развернула активный-активный кластер Kubernetes, при этом трафик направляется либо в Кластер A, либо в Кластер B. Обычно он направляет трафик в один кластер Kubernetes, в то время как другой служит резервным, обрабатывая трафик только во время крупных обновлений или обновлений кластера.

APISIX_Datavisor_server

Что касается использования шлюза, DataVisor выбрала относительно простой и стандартный подход к развертыванию. Интересное наблюдение заключается в том, что DataVisor может размещать APISIX вне нашего кластера Kubernetes. Этот шаг стал возможным благодаря выдающейся производительности APISIX, требующей минимальных ресурсов CPU. Использование небольших экземпляров вне кластера для развертывания APISIX доказало свою эффективность в обработке значительного сетевого трафика.

В производственной среде DataVisor компания развернула три узла APISIX, каждый из которых может быть настроен только с двумя ядрами. Также были использованы мини-компьютеры с 2G или 4G памяти для управления нагрузкой трафика. По словам разработчика из DataVisor, производительность APISIX ожидается на уровне NGINX и OpenResty, а возможно, даже превзойдет его первоначальные ожидания.

Настройка APISIX

Улучшение привилегированного процесса

Хотя в NGINX нет концепции привилегированного процесса, она присутствует в OpenResty, где он находится на том же уровне, что и рабочие процессы. Этот процесс несколько особенный, потому что он не обрабатывает входящий сетевой трафик — он не слушает на каких-либо портах. Однако он может выполнять различные вычисления и задачи сбора данных. В результате DataVisor расширила этот привилегированный процесс, чтобы удовлетворить свои специфические потребности.

APISIX_Datavisor_backend

На диаграмме выше представлен четкий обзор отношений между APISIX и сервисами бэкенда DataVisor. Основное использование APISIX компанией заключается в приеме и распределении трафика.

На уровне шлюза APISIX проводит предварительную обработку перед тем, как трафик попадает внутрь. Что отличает конфигурацию DataVisor, так это введение небольшого процесса на уровне APISIX. Этот процесс, функционирующий как Sidecar, работает параллельно с процессом APISIX, который отвечает за выполнение своих задач. После этого он передает собранные данные в APISIX, который, в свою очередь, передает их обратно на верхний уровень системы для выполнения специфических бизнес-правил. Хотя этот шаблон использования относительно редок и обычно не встречается в обычных бизнес-сценариях, он может быть применим в контроле рисков.

APISIX_Datavisor_worker

Как реализуется привилегированный процесс? Модель DataVisor обычно следует структуре master-worker, где рабочие процессы отвечают за управление бизнес-трафиком, а мастер-процесс создает уникальный привилегированный процесс. В их разработке они ограничивают привилегированный процесс только одним. Таким образом, DataVisor разработала уникальную стратегию: внутри привилегированного процесса они создают еще один процесс для выполнения дополнительных задач, гарантируя, что он не мешает ответственным обязанностям привилегированного процесса.

Для сбора данных общение между привилегированным процессом и рабочими процессами осуществляется через shared-dict. Производительность shared-dict заметно высока, удовлетворяя требования большинства сценариев.

Разработка плагинов

APISIX_Datavisor_plugin

В результате модификаций DataVisor в APISIX, множество функций в упакованном продукте глубоко встроены в проект, что делает динамические изменения сложными. Соответственно, DataVisor решила упаковать специфические плагины, интегрировать их в проект APISIX, а затем вносить изменения с помощью Dashboard.

Процесс разработки плагинов с APISIX чрезвычайно удобен и облегчает создание высокопроизводительных плагинов. В настоящее время APISIX поддерживает Lua для разработки плагинов и несколько языков программирования, таких как Java, Go и Python. Эта универсальность позволяет пользователям реализовывать широкий спектр функций.

Достижения после использования APISIX

Развертывание APISIX привело к общему улучшению производительности системы DataVisor, обеспечивая выдающиеся производственные результаты.

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

  • Увеличение пропускной способности: Введение APISIX привело к значительному увеличению пропускной способности, позволяя системе обрабатывать одновременные запросы с большей эффективностью. В отличие от использования других продуктов API-шлюзов, DataVisor достигла успешной обработки крупномасштабных запросов, обеспечивая стабильность и надежность системы при высоких нагрузках с помощью APISIX. Этот результат укрепляет надежную основу для управления всплесками пользовательского трафика.

APISIX_Datavisor_effect

  • Легкое, многоязычное мастерство плагинов: Разработка плагинов с APISIX исключительно удобна, позволяя плавно создавать высокопроизводительные плагины. Кроме того, APISIX поддерживает Lua для разработки плагинов и различные языки программирования, включая Java, Go и Python. Эта универсальность предоставляет пользователям возможность реализовывать широкий спектр функций, что улучшило опыт разработки DataVisor и позволило пользователям использовать свои существующие знания.

Итог

Подводя итог, опыт применения APISIX в DataVisor заслуживает внимания. Используя APISIX, DataVisor упростила операции и обеспечила стабильность системы и более быстрое время обработки крупномасштабных запросов. Кроме того, APISIX предоставил DataVisor удобную для разработчиков среду для создания, настройки и оптимизации высокопроизводительных плагинов с легкостью. Эти успешные опыты, как в технической реализации, так и в установлении надежной основы, способствуют устойчивости DataVisor в индустрии контроля рисков.

Tags: