“As of May 2021, the Tencent OTeam using Apache APISIX has already deployed it for more than 10 teams within Tencent, with the largest project handling over 1 billion daily requests.”
Xu Xin
,
Senior Software Engineer at Tencent Games
within Tencent Games
in daily peak hours
As a leading global game development and operation subdivision of Tencent, Tencent Games connects over 800 million users worldwide. To integrate the repeated wheels within the company, Tencent formed OTeam to consolidate similar technical products and solidify an all-in-one technical platform.
While pushing forward the OTeam initiative, Tencent Games encountered many problems and wants to solve them through APISIX. For example:
The cumbersome and developer-unfriendly RPC framework added significant complexity to the development and integration processes.
Multiple service centers, such as CL5, L5, and Polaris, required a seamless transition and unification to streamline operations.
A reliable and user-friendly alerting solution was essential to address the shortcomings of the existing multi-alerting system.
Users encountered a variety of network attacks, including DDoS, replay, and request tampering, posing substantial security challenges.
Leveraging the flexible plugin mechanism of APISIX, Tencent Games integrated and interconnected with the internal monitoring systems. The alerting management became simple and convenient as users can get monitoring logs and set alerts by simple configurations.
Tencent Games also achieved effortless conversion between the TRPC and TARS RPC protocols through APISIX's plugin, but the team has to develop custom middleware services to bridge the gap.
Apache APISIX is famous for its high performance and low latency. Built on top of NGINX and LuaJIT, Apache APISIX supports a single-core QPS of 23,000 with an average delay of only 0.6 milliseconds. These features make APISIX an ideal choice for applications that require low latency and high throughput, such as microservices and real-time data processing.
Taking etcd as the configuration center, Apache APISIX is lightweight in structure. It provides a reliable and consistent data storage solution, enabling APISIX to easily handle dynamic configuration changes and high availability requirements. Users can realize real-time updates without reloading the system and causing any downtime by using APISIX.
APISIX boasts a robust ecosystem of open-source plugins that can address diverse requirements. For example, the protocol conversion plugin can effectively solve the need to convert protocols through intermediate services, allowing users to directly leverage the built-in plugin to convert HTTP and RPC protocols within the API gateway seamlessly.
After using Apache APISIX, Tencent Games implemented seamless protocol conversion between the TRPC and TARS RPC protocols. Leveraging APISIX's protocol conversion plugins, the team no longer needed to develop dedicated intermediate services for handling the translation between HTTP and RPC protocols. This simplified their architecture and reduced the overall complexity of their system.
In the process of building OTeam, Tencent Games utilized the APISIX plugins to integrate and connect with several of Tencent's core monitoring platforms. Even users from business projects without technical background can now easily configure the system to automatically report observability data, including tracing, logging, and metrics, for their APIs, and subsequently set up alerts on the monitoring platforms. This streamlined approach has significantly reduced the time and effort required.
Tencent Games has developed anti-replay attack and anti-tamper security plugins, providing out-of-the-box protection measures for projects that require such capabilities, effectively safeguarding the security of these APIs. The team also embedded the internal API specification requirements into the APISIX gateway, simplifying the development and deployment process and providing centralized control and visibility over the API landscape.
Apache APISIX supports multiple protocols, saving great R&D costs and endowing our platform with endless vitality.
After comparing some mainstream gateway products, we find that the response latency of Apache APISIX is more than 50% lower than other gateways, and Apache APISIX can still run stably when the CPU reaches more than 70%.
API7 commercial support is great for security control and comprehensive support. We chose API7 also because it is marvelous at supporting k8s.