Build a High‑Performance Service Mesh Agent for Dubbo – Alibaba Challenge

Alibaba’s fourth middleware performance challenge invites developers to create a high‑performance Service Mesh Agent for Dubbo, leveraging Docker containers, etcd registration, load balancing, protocol translation, and offering optimization tips such as coroutines, async communication, and caching to achieve superior QPS scores.

Alibaba Cloud Developer
Alibaba Cloud Developer
Alibaba Cloud Developer
Build a High‑Performance Service Mesh Agent for Dubbo – Alibaba Challenge

Build a High‑Performance Service Mesh Agent for Dubbo – Alibaba Challenge

At the 2018 Cloud Expo Nanjing summit, Alibaba researcher Lin Hao announced the fourth Alibaba Middleware Performance Challenge, focusing on the open‑source projects Dubbo and RocketMQ to promote open‑source spirit among developers.

Lin emphasized that Alibaba both uses and contributes to open‑source software, improving products for its own scenarios and giving back to the community.

Since 2017, Alibaba’s open‑source activities have accelerated. RocketMQ graduated to an Apache Top‑Level Project in September 2017, and OpenMessaging became the first Chinese‑originated global standard for distributed messaging. Dubbo also saw rapid updates and entered the Apache incubation stage.

The challenge is the first to set its problem on an open‑source background, encouraging broader participation.

Motivation

Dubbo is a high‑performance RPC framework and a complete micro‑service solution, but it lacks strong cross‑language support. The competition aims to break language barriers by allowing participants to choose any technology to enable Dubbo to work in a multi‑language environment.

Service Mesh plays a key role in this goal. It introduces an agent that co‑exists with services, providing capabilities such as load balancing, service registration & discovery, and protocol translation without modifying the services themselves.

Scenario

The test environment consists of five Docker containers: etcd, a Consumer, a Provider, and an Agent for each of the Consumer and Provider. etcd acts as the service registry. Communication between Consumer and Provider is routed through the Agent, illustrating the Service Mesh concept.

Key requirements for the Agent:

Load balancing : Distribute traffic according to the performance ratios of Provider instances (1:2:3) so that no Provider is overwhelmed.

Service registration & discovery : Agents must register themselves in etcd at startup and retrieve registration info dynamically during calls.

Protocol conversion : The Consumer uses HTTP while the Provider uses Dubbo; the Agent must translate between these protocols.

Additional desirable features include traffic control, circuit breaking, security authentication, low resource consumption, and high availability.

Scoring Process

The benchmark runs on a 4‑core 8 GB load‑generator and an 8‑core 16 GB target machine, with all five Docker instances on the target. Each submission occupies the target exclusively. The process includes preparing the environment, pulling images, verifying signatures, launching etcd, Providers, and Consumer, warming up with maximum concurrency, performing multiple pressure levels to record QPS, selecting the best QPS as the final score, and cleaning up.

Optimization Tips

Use coroutines to reduce thread‑switch overhead.

Adopt asynchronous communication between Agents for higher throughput.

Implement caching to avoid redundant processing of identical requests.

The competition, launched by Alibaba Group in 2015, aims to provide a platform for technology enthusiasts to tackle world‑class performance problems, fostering craftsmanship and creating greater societal value.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

DockermiddlewareDubboPerformance TestingService Mesh
Alibaba Cloud Developer
Written by

Alibaba Cloud Developer

Alibaba's official tech channel, featuring all of its technology innovations.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.