目录
微信朋友圈设计
用户及用户关系
肯定有用户表作为基础
用户关系表,用户id1,用户id2,关系
用户关系分组表,用户id1,用户id2,对应分组
发朋友圈
CDN
当我们把精心修好的图,朋友圈点击发送。是不是有一种秒发零延迟的感觉?
那是因为,我们在发朋友圈时,第一步动作是把你发布的图片传到腾讯就近的CDN节点,这时是不经过微信后台服务器的,所以会很快很快。
(CDN这里就不展开了,可以想象下淘宝的菜鸟仓配网络一样,先把货发到仓配点,然后再配送给你。)
发布表
当图片成功传到CDN后,这时微信客户端才会通知朋友圈CDN,说这里有个人发了个自拍耶。
你发朋友圈时,很可能会屏蔽掉你EX或领导老板之类的对吧。
所以呢,微信朋友圈的后台会把你发的图片、这个图片的URL地址、然后谁能看到这图片(很关键)等等信息写到发布表里。
发布id,发布人id,发布人名字,朋友圈内容,朋友圈图片url,权限信息
相册表
当发布表写完后,会把你这自拍索引到你的相册表里,相册表实际上很小,因为它就存了个索引指针而已。
也就是说,当你打开自己的相册列表看到你过去发的成百上千的照片时,都是根据索引去发布表里取的数据。
时间线
当相册表写好了,就会到一个很关键的步骤了,会触发一个批处理动作。
就是会有个跑腿的,跑过去通知你所有的通讯录好友,说你发了个自拍,然后就会把你发的这个自拍插入到你好友的时间线里。
当你好友刷新时,就会看到你的自拍了!Oh Yeah!
当然这前提是,你的好友没有删除你、拉黑你、屏蔽你、不看你。扎心,我们后面会讲这些过滤的权限问题是怎么处理的。
看的用户id,发布用户id,发布时间线,发布内容id,权限信息
刷朋友圈
好了。假设小王是你的微信好友,工作了