APISIX Empowers Cloud Service Platform for Government Procurement
January 31, 2024
Overview
About Zhengcaiyun
Founded by China's Zhejiang Provincial Department of Finance and Alibaba Group, Zhengcaiyun specializes in designing a cutting-edge cloud service platform tailored for government procurement. Built upon the Internet, their platform harnesses the power of cloud computing and big data technology, centering their efforts on digitizing and managing government procurement. The platform integrates online government procurement transactions, supervisory processes, and service offerings, empowering its clients to navigate more convenient, efficient, and transparent procurement.
Challenges
-
Zhengcaiyun's Dubbo-to-HTTP tunneling introduced challenges in protocol data conversion, impacting in-house component performance.
-
Dual serialization complexity in Dubbo, involving JavaBeanDescriptor and Hessian2, introduced Zhengcaiyun's potential performance overhead.
-
Dubbo gateway's business extensions required more effort in development and deployment due to single-threaded synchronous calling inefficiencies in Zhengcaiyun's HttpClient plan.
Results
-
APISIX integration streamlines Zhengcaiyun's Dubbo-to-Dubbo transformation, reducing latency and enhancing overall system performance.
-
With the help of APISIX, Dubbo's concise design and long-lasting connections result in significantly higher Tps than HTTP, minimizing connection costs for Zhengcaiyun.
-
By adopting a unified protocol, Zhengcaiyun minimizes overhead, facilitating efficient and lightweight data transmissions across components.
Background
Based in Zhejiang province, Zhengcaiyun platform operates as a self-sufficient microservices network system, extending services to branch offices across provinces. It provides government departments a platform to optimize procurement and allows private deployment from non-government entities like banks. To facilitate cross-network data transmission, Zhengcaiyun initiated the "Highway" project in 2022, consolidating network solutions for a unified, high-speed cross-network experience.
Despite leveraging Dubbo gateway and HTTP protocol, Zhengcaiyun faced challenges during the "Highway" project implementation, which can be solved by APISIX.
Pain Points Before Using APISIX
Before adopting APISIX Gateway, Zhengcaiyun faced several challenges in its infrastructure, prompting it to seek a more efficient and streamlined solution.
API Gateway
-
I/O Mode: Due to the intricacies of the network, Zhengcaiyun opted for using HTTP as the conduit to transmit data through the Dubbo-to-HTTP tunnel, which was later unpacked at the destination. One drawback of this tunneling approach was the need for protocol data conversion within this tunnel, particularly when reaching the Dubbo gateway. Some of the components Zhengcaiyun developed itself might not achieve optimal performance.
-
Dual Serialization: When dealing with dual serialization, it involves a JavaBeanDescriptor object, an API in Dubbo. Business objects cannot be directly serialized in parameters during serialization and deserialization, requiring encapsulation in the SDK to convert JavaBeans into a structure internal to Dubbo. After reaching the destination, this process is reversed to ensure smooth serialization and deserialization of business objects in the parameters. Moreover, there is an additional layer of complexity due to Dubbo's use of Hessian2 for serialization. Using Hessian2 for dual serialization could introduce a significant performance overhead.
-
Other Business Extensions: The Dubbo gateway demands certain business extensions, not just on the central gateway but also on the local cluster gateway. Additionally, Zhengcaiyun needs some readily deployable features, such as rate limiting.
Protocol Transmission
-
Various HTTP clients may carry some redundant header information.
-
While HTTP can send out many requests continuously, it must wait for one request to return before proceeding with the next one, resulting in low concurrency efficiency.
-
The HttpClient plan utilized by Zhengcaiyun has adopted a single-threaded synchronous calling approach, which requires waiting for the call to complete before proceeding with subsequent operations. In high-concurrency scenarios, this approach is highly inefficient. With the growth of business volume at Zhengcaiyun, the previously used solutions have gradually proven inadequate, necessitating an update.
Why APISIX
Zhengcaiyun has decided to replace its internally developed Dubbo gateway with APISIX and adopted the Dubbo protocol as a tunneling protocol to replace the conventional HTTP protocol.
Given the potential challenges associated with their custom gateway, they preferred not to allocate excessive resources in this domain. Instead, They planned to integrate a pre-built, professional solution immediately to conserve development resources and enhance efficiency. The decision to choose APISIX is influenced by the following factors:
-
Vibrant Community, Excellent Code: APISIX boasts an actively engaged open-source community, ensuring a high standard of code quality.
-
Robust Architecture, Exceptional Performance: Developed on high-performance OpenResty, APISIX is to achieve performance excellence from both architectural and design perspectives, meeting Zhengcaiyun's fundamental requirements for gateway.
-
Remarkable Extensibility: APISIX demonstrates remarkable extensibility, accommodating Zhengcaiyun's custom requirements. Essentially, Zhengcaiyun aims to benefit from NGINX-like high performance while retaining the flexibility to extend functionality.
Achievements After Using APISIX
Reduced Overhead in Transporting Protocols
In an environment where different components may communicate using varied protocols, the overhead incurred by converting data formats can be substantial. However, APISIX has provided a singular, unified protocol that ensures consistency across Zhengcaiyun's entire communication pipeline. This strategy not only simplifies Zhengcaiyun's data exchange process but also negates the need for constant translation between different protocols.
Agile and Responsive Communication Framework
Through integration with APISIX, Zhengcaiyun established a direct Dubbo-to-Dubbo transformation. This integration serves as a crucial optimization, reducing latency and enhancing the overall performance of the company's architecture. The direct Dubbo-to-Dubbo transformation minimizes the intermediate steps typically involved in the serialization process, providing a more agile and responsive communication framework for Zhengcaiyun.
Furthermore, by eliminating the need for dual serialization rounds, Zhengcaiyun has simplified the data transmission pipeline, reducing potential points of failure and enhancing the system's reliability.
Decreased Latency and Maximized Resource Utilization
In a traditional setup, each request typically requires a separate connection, leading to potential overhead and increased latency. However, with long connection multiplexing in APISIX, Zhengcaiyun has broken away from this limitation. By enabling the simultaneous transmission of multiple requests over a single, persistent connection, it maximizes resource utilization and reduces the time overhead associated with establishing and tearing down connections for each request.
This feature proves particularly beneficial in scenarios where numerous small requests are exchanged between components within Zhengcaiyun's system. Long Connection Multiplexing optimizes the communication process, allowing the company to efficiently manage and process multiple requests concurrently. The result is a more agile and responsive system that can handle increased workloads with improved efficiency.
Moreover, the use of long connections enhances the overall stability of Zhengcaiyun's system by minimizing the impact of connection setup and teardown overhead.
Established Layer 4 Protocol Extension Framework
APISIX has helped Zhengcaiyun to implement the xRPC Layer 4 protocol extension framework, empowering the company's developers to tailor application-specific protocols. With the xRPC framework, APISIX supports proxy implementations for various major application protocols. Users can also introduce their private, TCP-based application protocols based on this framework, offering precision similar to the HTTP protocol proxy and elevated Layer 7 control. By harnessing APISIX's xRPC extension, Zhengcaiyun has effectively introduced the capability for direct Dubbo protocol forwarding, ensuring comprehensive Dubbo protocol transmission.
Summary
In response to the complexities posed by cross-network data challenges, Zhengcaiyun took proactive measures by launching the innovative "Highway" project. This strategic endeavor was marked by the effective utilization of APISIX, a move that yielded substantial enhancements in gateway performance. Beyond just performance improvements, the integration of APISIX facilitated a tangible reduction in the costs associated with protocol conversion. Moreover, this initiative successfully achieved a streamlined and consolidated approach at the middleware level, optimizing data processing and communication within the network infrastructure.