新浪微博技术架构问题解析

简介:

你要问我新浪微博有什么技术压力。

我觉得,本质上:

            第一,如何快速共享数据,如何快速的将new message在网状社区中传递开来。

            第二,长期大量积累下来的数据如何分布,分散储存,保证性能。数据库的横纵切分。

            第三,机房的多备份,多备份机房之间的同步策略。

            第四,业务上的实时性是不是必须,是否能够根据业务的重拍,将一部分业务异步化,减轻系统压力。

            第五,高并发的请求重压之下,如何能够保证相应速度。

 

新浪微博首席架构师杨卫华的讲座上很好的解答了以上的这些问题。

具体参见以下资料:

http://mp.weixin.qq.com/s?__biz=MzA4NDc2MDQ1Nw==&mid=2650237833&idx=2&sn=a02e5ced24f6ea7141904324dd534627#rd

 

问题:[第一,如何快速共享数据,如何快速的将new message在网状社区中传递开来。]

回答:采取push的方法,有选择性的,向长期活跃的用户push new message。

        手机上的app中,每个app都会和服务器建立长连接,一旦平台API中有new message,就会实时推送给app

 

问题:[第二,长期大量积累下来的数据如何分布,分散储存,保证性能。数据库的横纵切分。]

回答:weibo是非常有时效性的业务数据。绝大多数的数据请求都集中在最近,所以数据可以按月份横切分。同时可以在月份横切的基础上建立二级索引表。

       同时,绝大多数的请求和发帖都集中在单一的省份。因此在纵切分上,在每省都建立了独立的数据中心。

 

问题:[第三,机房的多备份,多备份机房之间的同步策略。]

回答: 每个机房都不是单点部署,单个机房的数据更新之后,都会广播到全部的所有机房,进行快速同步。

 

问题:[第四,业务上的实时性是不是必须,是否能够根据业务的重拍,将一部分业务异步化,减轻系统压力。]

回答:发weibo本身这个事情,需要经过漫长的事务链条,所以我们可以打断这个链条,将其异步化,在接收到weibo以后将其推入messageQueue,然后让其异步更新处理。

 

问题:[第五,高并发的请求重压之下,如何能够保证相应速度。]

回答:广泛的应用缓存,cache,memcached,内存数据库,将数据放在离CPU越近的地方越好。



本文转自 www19 51CTO博客,原文链接:http://blog.51cto.com/doujh/1796093,如需转载请自行联系原作者
相关文章
|
6月前
|
运维 负载均衡 微服务
|
6月前
|
数据采集 机器学习/深度学习 人工智能
YOLOv11浅浅解析:架构创新
YOLOv11是YOLO系列最新升级版,通过C3k2模块、SPPF优化和解耦检测头等创新,显著提升检测精度与速度,mAP提高2-5%,推理更快,支持多平台部署,适用于工业、安防、自动驾驶等场景。
|
7月前
|
人工智能 JavaScript 前端开发
LangGraph架构解析
本文深入解析了传统Agent开发的三大痛点:状态管理碎片化、流程控制复杂及扩展性差,提出使用LangGraph通过有向图模型重构工作流,将LLM调用与工具执行抽象为节点,实现动态流程跳转。文中详述LangGraph四大核心组件——状态机引擎、节点设计、条件边与工具层集成,并结合生产环境最佳实践,如可视化调试、状态持久化与人工干预机制,最终对比LangGraph与传统方案的性能差异,给出选型建议。
1333 0
|
6月前
|
机器学习/深度学习 人工智能 搜索推荐
从零构建短视频推荐系统:双塔算法架构解析与代码实现
短视频推荐看似“读心”,实则依赖双塔推荐系统:用户塔与物品塔分别将行为与内容编码为向量,通过相似度匹配实现精准推送。本文解析其架构原理、技术实现与工程挑战,揭秘抖音等平台如何用AI抓住你的注意力。
1494 7
从零构建短视频推荐系统:双塔算法架构解析与代码实现
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
34_GPT系列:从1到5的架构升级_深度解析
大型语言模型(LLM)的发展历程中,OpenAI的GPT系列无疑扮演着至关重要的角色。自2018年GPT-1问世以来,每一代GPT模型都在架构设计、预训练策略和性能表现上实现了质的飞跃。本专题将深入剖析GPT系列从1.17亿参数到能够处理百万级token上下文的技术演进,特别关注2025年8月8日发布的GPT-5如何引领大模型技术迈向通用人工智能(AGI)的重要一步。
|
5月前
|
存储 监控 安全
132_API部署:FastAPI与现代安全架构深度解析与LLM服务化最佳实践
在大语言模型(LLM)部署的最后一公里,API接口的设计与安全性直接决定了模型服务的可用性、稳定性与用户信任度。随着2025年LLM应用的爆炸式增长,如何构建高性能、高安全性的REST API成为开发者面临的核心挑战。FastAPI作为Python生态中最受青睐的Web框架之一,凭借其卓越的性能、强大的类型安全支持和完善的文档生成能力,已成为LLM服务化部署的首选方案。
|
6月前
|
存储 监控 NoSQL
Redis高可用架构全解析:从主从复制到集群方案
Redis高可用确保服务持续稳定,避免单点故障导致数据丢失或业务中断。通过主从复制实现数据冗余,哨兵模式支持自动故障转移,Cluster集群则提供分布式数据分片与水平扩展,三者层层递进,保障读写分离、容灾切换与大规模数据存储,构建高性能、高可靠的Redis架构体系。

推荐镜像

更多
  • DNS