专栏首页性能与架构微信朋友圈的技术思路

微信朋友圈的技术思路

本文根据微信朋友圈负责人陈明在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区不可用了,那么用户的客户端会自动连接到另外两个区,这两个区有足够的容量承载所有的服务,这种切换是无损的、无感知的

本文分享自微信公众号 - 性能与架构(yogoup),作者:杜亦舒

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-12-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • kafka 中 zookeeper 具体是做什么的?

    zookeeper 是 kafka 不可分割的一部分,可见其重要程度,所以我们有必要了解一下 zookeeper 在 kafka 中的具体工作内容。

    dys
  • 使用Redis统计活跃用户

    统计活跃用户这个案例非常经典,也是我当时学习redis时,接触到的第一个让我眼睛一亮的使用方式 场景 用户登录后需要记录,以便以后进行登录统计 统计需求主...

    dys
  • Mysql InnoDB行锁优化建议

    InnoDB存储引擎由于实现了行级锁定,虽然在锁定机制的实现方面带来的性能损耗可能比表级锁定要更高一些,但是在整体并发处理能力方面是要远远优于MyISAM的表级...

    dys
  • webpack使用优化(基本篇)

    前言 本文不是webpack入门文章,如果对webpack还不了解,请前往题叶的Webpack入门,或者阮老师的Webpack-Demos。 为什么要使用Web...

    李成熙heyli
  • 什么!要用毛笔字效果!不会啊?也不能字体侵权!

    前言:学生们在学习ps软件的过程中非常的认真与努力,所以对于软件的使用可以说已经很熟练了,可是为什么当我们给学生安排一些原创设计需求的时候,学生却有种无从下手的...

    用户1730674
  • 十大企业级Linux服务器安全防护要点

    糖豆贴心提醒,本文阅读时间8分钟 随着开源系统Linux的盛行,其在大中型企业的应用也在逐渐普及,很多企业的应用服务都是构筑在其之上,例如Web服务、数据库服...

    小小科
  • 预防高逼格Linux黑客招数,不学你就后悔吧!

    本文由马哥教育Linux云计算面授班24期学员推荐,转载自互联网,作者为And,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付出。 很多人都...

    小小科
  • 布尔值数组的状态压缩

    二维矩阵可以不产生一个图结构,直接在二维矩阵上计算。相应地,会设定一个布尔值数组visited[ i ] [ j ],表示某一个位置是否被遍历,true表示被遍...

    我脱下短袖
  • 存储型XSS的攻防:不想做开发的黑客不是好黑客

    它是通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的,一般是注入一段javascript脚本。在测试过程中,我们一般是使用:

    FB客服
  • 一文帮你梳理清楚:奇异值分解和矩阵分解 | 技术头条

    【导读】在推荐系统的相关研究中,我们常常用到两个相关概念:矩阵分解和奇异值分解。这两个概念是同一种算法吗?两者到底有什么差别?在本文中,作者梳理了两种算法的概念...

    AI科技大本营

扫码关注云+社区

领取腾讯云代金券