ios类似微信朋友圈,微博的开发原理是怎么样的,要使用到什么技术,服务器的数据库跟本地的数据库怎么设计,数据上传,数据接收原理是怎么样的?
本文根据微信朋友圈负责人陈明在2015年ArchSummit大会的演讲“微信朋友圈技术之道”整理的,由于声音不清晰,所以整理的不够全面,抱歉
朋友圈每天的发表量超过10亿,浏览量超过100亿,它的技术思路值得学习
朋友圈的核心数据表
有四个核心的表
(1)发布
记录了所有用户所有的基础信息
比如发布图片数量、图片的URL、谁可以看、谁不可以看……
(2)相册
每个用户是独立的,记录了该用户所发布的所有内容
这个表很小,只是保存用户发布记录的索引
(3)评论
是针对某个具体发布的朋友评论和点赞操作
(4)时间线
记录一个用户所有朋友的发布内容
朋友圈流程
发朋友圈流程
(1)用户在微信客户端发布照片及文字内容时,客户端先把图片上传到最近的cdn
(2)上传后得到了图片的url,客户端会把发布的详细信息(图片url、文字……)发送给朋友圈后台
(3)朋友圈后台把发布的详细信息写入发布表
(4)把新发布信息的索引写入相册表
(5)批量更新所有好友的timeline
(1)用户读取自己timeline,获取好友新的发布信息的索引集合
(2)根据每个发布信息索引,读取发布详情,同时到评论表中读取此条发布的评论的点赞
容灾设计
微信在全球设立4个数据中心
上海 - 服务北方用户
深圳 - 服务南方
香港 - 服务东南亚、中东、非洲
加拿大 - 服务美洲和欧洲
每个数据中心内分为多个园区,例如上海,由A、B、C三个园区构成,每一个园区带宽同时连接联通、电信,而且容量都有富余,无论任何一个区出现问题,比如 C区不可用了,那么用户的客户端会自动连接到另外两个区,这两个区有足够的容量承载所有的服务,这种切换是无损的、无感知的
微博本身的产品设计算法与产品相结合,搭载在高效稳定的架构上,才能发挥它的最大功效。,使得即使没有推荐系统,仍然会形成一个大的用户关系网络,实现信息快速传播;而衡量一个事物的价 值,一个简单的方法是对比看看保留它和去掉它时的差别。微博需要健康的用户关系网络,保障用户feed流的质量,且需要优质信息快速流动,通过传播淘汰低 质信息。微博推荐的作用在于加速这一过程,并在特定的情况下控制信息的流向,所以微博推荐的角色是一个加速器和控制器。就是系统的价值,即建立关联、促进流动和传播
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。