Weibo Platform Third‑Generation Architecture Overview
The article details how Weibo evolved from a LAMP‑based first generation to a third‑generation, orthogonal three‑layer (interface, service, resource) and four‑vertical (business, technology, monitoring, governance) architecture that supports massive high‑availability, high‑concurrency workloads with middleware such as Web V4, MCQ, Motan, object store, SSDCache, and the WatchMan distributed tracing system.
Weibo’s monthly active users reached 143 million in March 2014, requiring a highly available, high‑concurrency, low‑latency backend system to support massive traffic.
The first‑generation architecture was a classic LAMP stack using MyISAM, PHP, and Memcache.
As the platform grew, a second generation introduced modular, service‑oriented, component‑based design, replacing PHP with Java and forming an SOA architecture.
The current third‑generation architecture employs an orthogonal decomposition method: horizontally it consists of three layers—interface, service, and resource—while vertically it adds four dimensions—business architecture, technology architecture, monitoring platform, and service‑governance platform.
The horizontal interface layer provides unified APIs for web and mobile clients, including Feed, user‑relationship, and messaging services.
The service layer separates atomic services (e.g., short‑link, ID generator) from composite services (e.g., Feed, messaging) that depend on atomic services.
The resource layer hosts data storage components such as Redis, Memcached, MySQL, HBase, TFS, and Sina S3.
Server roles are divided into front‑end machines (API services), queue machines (handling write‑side logic), and storage machines (Redis, MySQL, MCQ, HBase, etc.).
Vertical technology architecture introduces middleware products that enhance development efficiency and operational stability, including the Web V4 framework, MCQ message queue, Motan RPC framework, object store, and SSDCache.
The Web V4 framework, built on Spring AOP and Jersey, standardizes API development with annotations, authentication, rate limiting, logging, degradation, and automatic serialization.
MCQ is a simple queue service based on the Memcache protocol, persisting messages in BerkeleyDB and offering easy monitoring via stats commands.
Motan is an RPC framework using Netty, supporting Hessian and Java serialization, multiple transport protocols, and advanced HA and load‑balancing strategies, while providing comprehensive service‑governance data.
The object store serializes JVM objects to HBase, assigns unique ObjectIDs, and stores binary data in Sina S3, supporting PB, JSON, and binary formats.
SSDCache leverages SSDs as an L2 cache between Redis/MC and MySQL, reducing cost and database pressure while improving I/O performance.
For monitoring and service governance, Weibo built the WatchMan distributed tracing system, which collects low‑invasive logs across all middleware, aggregates performance metrics, enables flow control, service scaling, degradation, traffic switching, and gray releases.
Overall, the third‑generation technical system underpins Weibo’s ability to rapidly, efficiently, and reliably deliver new products and features at massive scale.
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.
Architect
Professional architect sharing high‑quality architecture insights. Topics include high‑availability, high‑performance, high‑stability architectures, big data, machine learning, Java, system and distributed architecture, AI, and practical large‑scale architecture case studies. Open to ideas‑driven architects who enjoy sharing and learning.
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.
