“По состоянию на май 2021 года, команда Tencent OTeam, использующая Apache APISIX, уже развернула его для более чем 10 команд внутри Tencent, при этом крупнейший проект обрабатывает более 1 миллиарда запросов в день.”
Xu Xin
,
Senior Software Engineer at Tencent Games

within Tencent Games
in daily peak hours
Как ведущее глобальное подразделение Tencent по разработке и операциям игр, Tencent Games объединяет более 800 миллионов пользователей по всему миру. Для интеграции повторяющихся решений внутри компании Tencent создала OTeam, чтобы объединить схожие технические продукты и укрепить универсальную техническую платформу.
В процессе продвижения инициативы OTeam Tencent Games столкнулась с множеством проблем, которые она хочет решить с помощью APISIX. Например:
Громоздкая и неудобная для разработчиков RPC-платформа значительно усложняла процессы разработки и интеграции.
Необходимость в плавном переходе и унификации нескольких сервисных центров, таких как CL5, L5 и Polaris, для упрощения операций.
Надежное и удобное решение для оповещений было необходимо для устранения недостатков существующей системы множественных оповещений.
Пользователи сталкивались с различными сетевыми атаками, включая DDoS, повторные атаки и подмену запросов, что создавало серьезные проблемы безопасности.
Используя гибкий механизм плагинов APISIX, Tencent Games интегрировала и связала внутренние системы мониторинга. Управление оповещениями стало простым и удобным, так как пользователи могут получать логи мониторинга и настраивать оповещения с помощью простых конфигураций.
Tencent Games также добилась легкого преобразования между протоколами TRPC и TARS RPC через плагин APISIX, но команде пришлось разработать пользовательские промежуточные сервисы для устранения разрыва.
Apache APISIX известен своей высокой производительностью и низкой задержкой. Построенный на основе NGINX и LuaJIT, Apache APISIX поддерживает QPS в 23 000 на одном ядре со средней задержкой всего 0,6 миллисекунды. Эти особенности делают APISIX идеальным выбором для приложений, требующих низкой задержки и высокой пропускной способности, таких как микросервисы и обработка данных в реальном времени.
Используя etcd в качестве центра конфигурации, Apache APISIX имеет легковесную структуру. Он предоставляет надежное и согласованное решение для хранения данных, позволяя APISIX легко справляться с динамическими изменениями конфигурации и требованиями высокой доступности. Пользователи могут реализовать обновления в реальном времени без перезагрузки системы и простоев, используя APISIX.
APISIX обладает мощной экосистемой открытых плагинов, которые могут решать разнообразные задачи. Например, плагин преобразования протоколов может эффективно решить необходимость преобразования протоколов через промежуточные сервисы, позволяя пользователям напрямую использовать встроенный плагин для преобразования HTTP и RPC протоколов внутри API-шлюза.
После использования Apache APISIX Tencent Games реализовала бесшовное преобразование между протоколами TRPC и TARS RPC. Используя плагины преобразования протоколов APISIX, команде больше не нужно было разрабатывать специализированные промежуточные сервисы для обработки перевода между HTTP и RPC протоколами. Это упростило их архитектуру и снизило общую сложность системы.
В процессе создания OTeam Tencent Games использовала плагины APISIX для интеграции и подключения к нескольким ключевым платформам мониторинга Tencent. Даже пользователи из бизнес-проектов без технического опыта теперь могут легко настроить систему для автоматической отчетности данных наблюдаемости, включая трассировку, логирование и метрики для своих API, и затем настроить оповещения на платформах мониторинга. Такой подход значительно сократил время и усилия, необходимые для этого.
Tencent Games разработала плагины для защиты от повторных атак и подмены запросов, предоставляя готовые меры защиты для проектов, требующих таких возможностей, эффективно обеспечивая безопасность этих API. Команда также встроила внутренние требования к спецификациям API в шлюз APISIX, упростив процесс разработки и развертывания и обеспечив централизованный контроль и видимость ландшафта API.
APISIX помог нам значительно повысить качество обслуживания в рамках активной-активной архитектуры. Его полноценная функция мониторинга эффективно поддерживает устранение неполадок, а обновление списка сервисов стало очень простым.
Как зрелый и готовый к использованию API-шлюз, APISIX помогает нам достичь высокой эффективности разработки. От начала с нуля до прохождения POC нам потребовалась всего одна неделя.
После сравнения некоторых популярных продуктов для шлюзов, мы обнаружили, что задержка отклика Apache APISIX более чем на 50% ниже, чем у других шлюзов, и Apache APISIX продолжает стабильно работать даже при загрузке процессора более 70%.