专栏名称: 架构师之路
架构师之路,坚持撰写接地气的架构文章
目录
相关文章推荐
架构师之路  ·  第5篇10W+,视频号的... ·  昨天  
架构师之路  ·  全球首位AI程序员Devin的诞生,对于程序 ... ·  5 天前  
51好读  ›  专栏  ›  架构师之路

平台突然涌入几亿外国人,架构要怎么改造?(第37讲)

架构师之路  · 公众号  · 架构  · 2025-01-22 08:49

正文

《架构师之路:架构设计中的100个知识点》
37.单元化多机房多活

我去面试一个架构师岗位。


面试官:我们平台突然涌入几亿外国人,架构要怎么改造?

我:你们平台现在是什么架构?

面试官:单机房架构。

我:单机房架构,它最大的特点就是“全连接”分层架构。


首先,系统架构是分层的:

1. 站点层;

2. 服务层;

3. 数据库与缓存层。


其次,层与层之间的连接池是全连接的。

如上图所示:

1. 站点层集群全连接服务层集群;

2. 服务层集群全连接数据库集群;

3. 如果有缓存,它们还全连接缓存集群;


面试官:“全连接”分层架构能直接扩展到多机房多活吗,我们老板有计划在北美搞一个机房?

我:不行。


如果直接将单机房“全连接”分层架构复制到多机房多活,就会有非常多的跨机房的连接

1. 站点层连接服务层,一半的请求跨机房;

2. 服务层连数据库,一半的请求跨机房;

3. 站点和服务连缓存,一半的请求跨机房;


面试官:一半的请求跨机房连接,有问题吗?

我:当然有问题。


同机房连接,内网的性能损耗几乎可以忽略不计。一旦涉及到跨机房的访问,即使机房和机房之间有专线,访问的时延可能增加到秒级,如果机房在北美,跨机房请求可能要几十秒。


如果一个业务请求要访问10个服务,一半请求跨机房,光花在网络上的请求都达到几十秒,用户体验不能接受。


面试官:那怎么办呢?

我:如果业务具备地域特性的聚集效应,可以使用单元化架构。


面试官:什么叫业务具备地域特性的聚集效应?什么叫做单元化架构?

我:举个例子吧,DD打车。

1. 下单用户在一个城市;

2. 接单司机在一个城市;

3. 交易订单在一个城市;

只需要按照地域,部署多个机房,机房内部站点层,服务层,缓存层,数据层都只连接同一个机房。数据层跨机房同步,即使有1分钟的延时,对业务也不会影响。这类业务,就具备地域特性。


这种只访问自己机房的多机房多活架构,就叫做单元化架构。具体到你们的场景:

1. 在东大机房部署一套,东大用户访问这一套。

2. 在北美机房部署一套,北美用户访问那一套。

就能够快速解决。


面试官:不行呀,TT就是玩这种架构,崩盘了。泼天的富贵这不才过来的吗?

我:我建议,你们又不是交易类型的业务,只需要:

1. 发布文章,评论文章;

2. 发布视频,评论视频;

UP主和粉丝,即使有个十几秒数据延时,不影响。只要不直播,用户无感知。


因此直接在东大扩容机房,就能够搞定。


我:简单总结,单元化架构是一种能够快速扩容的多机房多活方案。但前提是,业务必须满足地域性聚集效应


知其然,知其所以然。

思路比结论更重要。


补充阅读材料:
《单元化架构
https://blog.csdn.net/A_art_xiang/article/details/135597927

文章较长,中文,来自csdn。

配图来自阿里云。


==全文完==


20年,系列1(已完结):
架构师定会遇到的80个经典架构问题!

21年,系列2(已完结):
关于即时通讯架构的一切!

24年,系列3(进行中):
《架构设计中的100个知识点》
短视频+图文+直播+星球社群,免费

讲技术的宝藏号,日更,保护起来。

点赞,转发,在看,感激不尽!