Evolution and Practices of Zhaunzhuan's RPC Framework: An Interview with Wang Jianshen
In this interview, senior backend engineer Wang Jianshen shares the motivations, design choices, challenges, and successes behind Zhaunzhuan's self‑developed RPC framework and service‑governance platform, offering practical insights for building high‑availability, high‑concurrency microservice architectures.
As company scale and user demand surge, monolithic applications evolve into microservice architectures, creating a need for efficient inter‑service communication, where RPC (Remote Procedure Call) becomes essential.
Wang Jianshen, head of service governance at Zhaunzhuan, explains why RPC frameworks are chosen over plain HTTP, highlighting benefits such as dynamic proxy‑based seamless remote calls, compact proprietary protocols, multiplexed connections, and built‑in features like routing, filtering, and load balancing.
He discusses the decision to develop a custom RPC framework rather than adopt open‑source alternatives, citing protocol compatibility with legacy 58 systems, deep integration with business code, and the ability to tailor middleware to specific scenarios.
The interview delves into major challenges during framework refactoring, especially compatibility concerns, and describes a graded service‑level versioning strategy (A‑F) that enables painless upgrades and gray releases.
Key achievements include improved stability (Netty‑based transport, graceful shutdown, optimized thread models), enhanced usability and extensibility (object‑oriented API, modular architecture), and the implementation of a full‑link tag routing system that dramatically reduces test‑environment setup time from days to minutes.
Tag routing also leverages Alibaba's open‑source TransmittableThreadLocal for seamless cross‑thread context propagation.
Wang emphasizes the importance of mastering advanced Java techniques (dynamic proxies, reflection, multithreading, TCP/IP), design patterns, and studying open‑source code to avoid reinventing the wheel, while noting the emerging trend of Service Mesh and its trade‑offs.
He concludes with personal advice for self‑taught developers: cultivate intrinsic interest, repeatedly study fundamentals and source code, focus on clear goals, and balance skill growth with practical experience.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Zhuanzhuan Tech
A platform for Zhuanzhuan R&D and industry peers to learn and exchange technology, regularly sharing frontline experience and cutting‑edge topics. We welcome practical discussions and sharing; contact waterystone with any questions.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
