开发者社区> 问答> 正文

ios类似于微信朋友圈,微博的开发原理是怎么样的?

ios类似微信朋友圈,微博的开发原理是怎么样的,要使用到什么技术,服务器的数据库跟本地的数据库怎么设计,数据上传,数据接收原理是怎么样的?

展开
收起
杨冬芳 2016-06-29 16:24:41 3779 0
1 条回答
写回答
取消 提交回答
  • IT从业

    本文根据微信朋友圈负责人陈明在2015年ArchSummit大会的演讲“微信朋友圈技术之道”整理的,由于声音不清晰,所以整理的不够全面,抱歉

    朋友圈每天的发表量超过10亿,浏览量超过100亿,它的技术思路值得学习

    朋友圈的核心数据表

    有四个核心的表

    (1)发布

    记录了所有用户所有的基础信息

    比如发布图片数量、图片的URL、谁可以看、谁不可以看……

    (2)相册

    每个用户是独立的,记录了该用户所发布的所有内容

    这个表很小,只是保存用户发布记录的索引

    (3)评论

    是针对某个具体发布的朋友评论和点赞操作

    (4)时间线

    记录一个用户所有朋友的发布内容

    朋友圈流程

    发朋友圈流程

    (1)用户在微信客户端发布照片及文字内容时,客户端先把图片上传到最近的cdn

    (2)上传后得到了图片的url,客户端会把发布的详细信息(图片url、文字……)发送给朋友圈后台

    (3)朋友圈后台把发布的详细信息写入发布表

    (4)把新发布信息的索引写入相册表

    (5)批量更新所有好友的timeline

    screenshot
    (1)用户读取自己timeline,获取好友新的发布信息的索引集合

    (2)根据每个发布信息索引,读取发布详情,同时到评论表中读取此条发布的评论的点赞

    容灾设计

    微信在全球设立4个数据中心

    上海 - 服务北方用户

    深圳 - 服务南方

    香港 - 服务东南亚、中东、非洲

    加拿大 - 服务美洲和欧洲

    每个数据中心内分为多个园区,例如上海,由A、B、C三个园区构成,每一个园区带宽同时连接联通、电信,而且容量都有富余,无论任何一个区出现问题,比如 C区不可用了,那么用户的客户端会自动连接到另外两个区,这两个区有足够的容量承载所有的服务,这种切换是无损的、无感知的
    微博本身的产品设计算法与产品相结合,搭载在高效稳定的架构上,才能发挥它的最大功效。,使得即使没有推荐系统,仍然会形成一个大的用户关系网络,实现信息快速传播;而衡量一个事物的价 值,一个简单的方法是对比看看保留它和去掉它时的差别。微博需要健康的用户关系网络,保障用户feed流的质量,且需要优质信息快速流动,通过传播淘汰低 质信息。微博推荐的作用在于加速这一过程,并在特定的情况下控制信息的流向,所以微博推荐的角色是一个加速器和控制器。就是系统的价值,即建立关联、促进流动和传播

    2019-07-17 19:49:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
微信广告引擎与播放节奏算法实践 立即下载
微信H5视频播放器在海量业务下的实践 立即下载
微信高效运维之路 立即下载