舒文小说网

舒文小说网>美利坚我的模拟器不对劲免费 > 第二十三章 论道(第4页)

第二十三章 论道(第4页)

陈哲一直不语。

本的视线最后落在他身上。

“陈,你呢?”

所有人的目光都转过来。

陈哲沉默了两秒。

“我想到的跟大家不太一样。”他说。

本的眉毛挑了一下。

“你可以说来听听。”

陈哲往前走了一步,站在白板旁边。

“大家说的都是存储和查询的逻辑,我换个角度——成本。”

他顿了顿。

“短连结服务最烧钱的是什么?不是伺服器,不是资料库,是流量。每次访问都要302重定向,每次重定向都是一次http请求。如果服务做大了,每天几亿次访问,光是流量钱就能烧破產。”

人群安静下来。

“所以我会在重定向之前加一层cdn。”陈哲继续说,“短码的访问路径先走cdn,如果cdn有缓存,直接返回重定向响应,不回源。缓存时间可以设长一点,比如24小时。这样99%的流量都被cdn扛住了,源站只需要处理缓存未命中的请求。”

本的眉头微皱。

陈哲继续。

“然后是短码生成。大家说的哈希和自增id都有问题——哈希有衝突,自增id太规律。我会用预生成的方式:启动一个服务,提前生成一批短码放在队列里。用户来的时候,直接从队列里取一个分配出去。”

“这样生成短码和分配短码解耦了。生成服务可以用雪花算法保证全局唯一,分配服务只需要从队列里pop。就算分配服务掛了,队列里的短码还能顶一阵……”

“然后是资料库。短码和长url的映射关係可以存mysql,但高频访问的短码要放redis。如果要做大,可以按短码前缀分片,比如0开头的放一组,1开头的放另一组。”

“最后是监控。每个短码的访问量要统计,但不能影响主流程。可以用消息队列,异步写日誌,然后离线分析。”

他说完了。

人群安静了几秒。

本盯著他,表情有点奇怪。

麦克站在人群后面,手里的咖啡杯停在半空中,眼睛瞪得比刚才大了一圈。

“你……”麦克张了张嘴,像是想说什么,但又咽了回去。

汤姆第一个开口。

“cdn那层,”他皱著眉,“重定向响应能缓存吗?”

“能。”陈哲说,“302重定向也是http响应,只要设置cache-control头,cdn就会缓存。用户访问短码的时候,cdn直接返回302,连源站都不碰。”

汤姆沉默了两秒,然后点了点头。

莱拉在旁边喃喃自语:“预生成队列……这个思路倒是第一次听说。”

本的眉头舒展开来。

他盯著陈哲看了几秒,然后笑了。

“有意思。”

他把白板放下,拿起保温杯喝了一口。

“你在哪家公司实习过?”

热门小说推荐

天神诀
太一生水天神诀
...
超凡大卫
吃瓜子群众超凡大卫
...

最新标签