当前位置:文档之家› 微博消息系统架构演进

微博消息系统架构演进

online mq

jar
offline mq
mq DB
➢ ➢

msg + VSpre+VScurrent getset
redis
➢ ➢ + push ➢ ➢ ➢ ➢ ➢
version VC == VSpre?
Y
Update VC = VScurrent
➢ ➢ ➢ ➢



➢ ➢
/s
➢ ➢
➢ ➢
起步阶段 用户:百万级 DAU:万级
快速发展阶段 用户:? DAU:?
稳定阶段 用户:? DAU:?
高可用阶段 用户:? DAU:?
业务驱动下持续演进的系统
-



➢ ➢ ➢
-
➢ ➢
➢ ➢

➢ ➢



Master
Slave
-
Cache ➢ Master-Slave Cache ➢ L1 Cache ➢ LocalCache
Local Cache Local Cache Local Cache
L1 Cache
L1 Cache
L1 Cache
Master
Slave
-
-
++C ++T
1 4
➢ ➢ http
http Redis
Memcached
Mysql

➢“ —— ➢“ —— ➢ —— ” ”
起步阶段 用户:百万级 DAU:万级
快速发展阶段 用户:千万级 DAU:百万级
稳定阶段 用户:? DAU:?
高可用阶段 用户:? DAU:?
业务驱动下持续演进的系统
➢ ➢
L1 Cache
L1 Cache
L1 Cache
Master
Slave
-
Cache ➢ Master-Slave Cache ➢ L1 Cache ➢ LocalCache
Local Cache Local Cache Local Cache
L1 Cache
L1 Cache
L1 Cache
——C ——T
2 3
C T C=0 T=0
C==0 T==0 C==0 T==1
-
MC Redis Redis Lua Transaction
-
Redis
—gincr ➢ ➢ ➢ gincr
redis API Facade
50W key/s
7 9

➢ ➢ ➢ ➢ ➢ Cache
起步阶段 用户:百万级 DAU:万级
➢ ➢
-
http
➢ ➢ ➢ ➢ eg. SAS->SSD)
Queue
jar
Cache
SSD
SSD
SSD
dm1
dm2
chat1
chat2
biz1
biz2
-
Cache ➢ Master-Slave Cache ➢ L1 Cache ➢ LocalCache
Local Cache Local Cache Local Cache
N
VC = VScurrent

➢ ➢ ➢ ➢
起步阶段 用户:百万级 DAU:万级
快速发展阶段 用户:千万级 DAU:百万级
稳定阶段 用户:亿级 DAU:千万级
高可用阶段 用户:数亿级 DAU:数千万级
业务驱动下持续演进的系统

➢ ➢ ➢
design for failure)
API 1
offline mq
mq DB
-
➢ wesync —— —— —— —— ——gzip ➢ Http Tunnel ——wap ——tcp failover
http
tcp
http tunnel
User A User B Device A User B Device B
API Facade
API 2
API 1
API Facade
API 2
Network
Network
-
➢ ➢ ➢
& eg. or

-
➢ ➢ ➢ ➢
Redis Lua
Kafka
-
➢ ➢
➢ ➢
➢ ➢ ➢
-
Docker ➢ ➢ 1000/10min -DCP

➢ ➢ ➢ ➢
快速发展阶段 用户:千万级 DAU:百万级
稳定阶段 用户:亿级 DAU:千万级
高可用阶段 用户:? DAU:?
业务驱动下持续演进的系统
➢ ➢ ➢

User A User B Device A User B Device B

➢ ➢
connector tcp http
online mq
jar

connector tcp


http
online mq
jar
offline mq
mq DB
➢ —— IP ➢ —— —— ➢ —— motan
➢ ➢
User A User B Device A User B Device B


connector tcp http
相关主题