欢迎光临 通宝棋牌平台

足球赛事

您现在的位置是:主页 > 世界风情 > 微信朋友圈,你知道是怎么设计的吗?

世界风情

微信朋友圈,你知道是怎么设计的吗?

发布时间:Sep 12, 2020世界风情 阅读 2984 次通宝棋牌平台
微信朋友圈是怎么设计的?本文笔者梳理了朋友圈的操作流程,并向我们介绍了它背后的设计思路。当你一秒钟拍了张自拍,一个小时修了下图,然后打开朋友圈,点击发送的那一刻,

微信朋友圈是怎么设计的?本文笔者梳理了朋友圈的操作流程,并向我们介绍了它背后的设计思路。

当你一秒钟拍了张自拍,一个小时修了下图,然后打开朋友圈,点击发送的那一刻,后台到底有多少工作在进行通宝棋牌平台着?

我们太习以为常,没有意识到这背后还会有多复杂的逻辑。为什么每天几十亿量级的朋友圈发布量,都没有让微信崩溃过?

我看了朋友圈负责人陈明的演讲,他分享了微信的架构,数据结构设计等。演讲很好看,很实在,但有的时候程序员讲话需要努力下才能理解,本文我将从一个产品的角度,尽量平民化的阐述整个逻辑,写下的自己的思考和理解,希望大家可以有所收获。

一、发朋友圈

1. CDN

当我们把精心修好的图,朋友圈点击发送。是不是有一种秒发零延迟的感觉?

那是因为,我们在发朋友圈时,第一步动作是把你发布的图片传到腾讯就近的CDN节点,这时是不经过微信后台服务器的,所以会很快很快。

(CDN这里就不展开了,可以想象下淘宝的菜鸟仓配网络一样,先把货发到仓配点,然后再配送给你。)

2. 发布表

当图片成功传到CDN后,这时微信客户端才会通知朋友圈CDN,说这里有个人发了个自拍耶。

你发朋友圈时,很可能会屏蔽掉你EX或领导老板之类的对吧。

所以呢,微信朋友圈的后台会把你发的图片、这个图片的URL地址、然后谁能看到这图片(很关键)等等信息写到发布表里。

3. 相册表

当发布表写完后,会把你这自拍索引到你的相册表里,相册表实际上很小,因为它就存了个索引指针而已。

也就是说,当你打开自己的相册列表看到你过去发的成百上千的照片时,都是根据索引去发布表里取的数据。

4. 时间线

当相册表写好了,就会到一个很关键的步骤了,会触发一个批处理动作。

就是会有个跑腿的,跑过去通知你所有的通讯录好友,说你发了个自拍,然后就会把你发的这个自拍插入到你好友的时间线里。

当你好友刷新时,就会看到你的自拍了!Oh Yeah!

当然这前提是,你的好友没有删除你、拉黑你、屏蔽你、不看你。扎心,我们后面会讲这些过滤的权限问题是怎么处理的。

二、刷朋友圈

好了。假设小王是你的微信好友,工作了五分钟累的不行了,休息休息刷下朋友圈。

当小王点开朋友圈时,会拉他自己的时间线,这时他的时间线会得知有个你的新发布,小王的微信客户端会根据你的发布的元数据去CDN找这个图片的URL,拉到本地,然后小王就能看到你发的自拍了。