新浪微博框架
基于LDA_主题模型的杭州亚运会微博话题分析

Statistics and Application 统计学与应用, 2023, 12(4), 833-842 Published Online August 2023 in Hans. https:///journal/sa https:///10.12677/sa.2023.124087基于LDA 主题模型的杭州亚运会微博话题分析 董韶琦,郑 静杭州电子科技大学经济学院,浙江 杭州收稿日期:2023年7月4日;录用日期:2023年7月25日;发布日期:2023年8月7日摘要 为了探索杭州亚运会预热阶段新兴媒体传播的结构和内容,帮助相关部门更高效地进行舆论监管与引导,本文创新性地对亚运会传播内容进行LDA 主题模型的构建。
本文在新浪微博爬取与杭州亚运会相关内容,构建亚运会文本的隐含狄利克雷分布(Latent Dirichlet Allocation, LDA)模型,采用困惑度评价指标确定模型最优主题数,然后用框架和语境理论分别从结构和内容挖掘相关文本内涵。
结果显示,亚运会预热传播内容主要围绕娱乐宣传、参与人员、基础设施、起止仪式、市场合作、竞技项目6个框架展开,展示出人们对杭州举办此次亚运会的肯定与期待;同时亚运会也为我国经济尤其是杭州经济的发展起到一定的促进作用,也为对内对外经济合作提供了契机。
关键词杭州亚运会,微博,LDA 模型Analysis of Microblog Topics of Hangzhou Asian Games Based on LDA Topic ModelShaoqi Dong, Jing ZhengSchool of Economics, Hangzhou Dianzi University, Hangzhou Zhejiang Received: Jul. 4th , 2023; accepted: Jul. 25th , 2023; published: Aug. 7th , 2023AbstractIn order to explore the structure and content of emerging media communication in the warm-up stage of the Hangzhou Asian Games, and help relevant departments to more effectively supervise and guide public opinion, this paper innovatively constructs the LDA Topic model for the commu-nication content of the Asian Games. This paper builds a Latent Dirichlet Allocation model for the text of the Asian Games by crawling Sina Weibo content related to the Hangzhou Asian Games, uses Perplexity evaluation indicators to determine the optimal number of topics in the model, and then董韶琦,郑静uses the framework and context theory to mine the relevant text content from the structure and content. The results show that the warm-up communication content of the Asian Games mainly revolves around six frameworks: entertainment promotion, participants, infrastructure, start and end ceremonies, market cooperation, and competitive projects, showcasing people’s affirmation and expectation of Hangzhou hosting the Asian Games; At the same time, the Asian Games have also played a certain promoting role in the development of China’s economy, especially in Hangzhou, and provided opportunities for domestic and foreign economic cooperation.KeywordsHangzhou Asian Games, Weibo, LDA Model Array Copyright © 2023 by author(s) and Hans Publishers Inc.This work is licensed under the Creative Commons Attribution International License (CC BY 4.0)./licenses/by/4.0/1. 引言2015年9月16日,经过亚奥理事会代表大会的投票,杭州获得2022年亚运会主办权,成为继北京和广州之后第三个举办亚运会的中国城市。
新浪微博服务治理框架

SID
PSID Annotation
span ID,调用链中的一个节点,从请求开始到请求结束,生成方式同ReqID。
Caller spanID 该调用节点的类别,有API client/API server/RPC Client/RPC Server/其他中间件定 义 接口名称 开始时间和请求时间
Service Name Start/Process Time
服务化框架
监控平台
监控指标UI呈现 报警子系统 流量切换 服务治理平台 服务扩容 服务发布
RPC 数据聚合平台 Motan Registry 上报 资源日志 Push Motan Client
Cache Service … Config Server
上报
接口日志
上报 RPC日志
Push
Client
调用链标准化日志
ReqID SID PSID Annotation Service Name InterfaceNa me Start Time Process time Node IP 16位UUID RPC Node IP
Field ReqID
Description 请求序列号,在调用链入口生成,考虑使用节点IP地址+IDC机房编码+序列号生 成
10.5.2.1 IDC1: Motan Registry IDC2: 10.6.2.1 10.6.2.2 10.6.2.1 10.5.2.1 10.5.2.2 Push Motan Client 切换后数据流 10.5.2.1
10.6.2.1
问题:基于IDC的流量切换策略是否够用?是否需要增加按20/80比例的流量分发策略?
微博平台服务化框架
卫向军
微博商业模式分析

微博商业模式分析雅虎和谷歌的技术为信息源——信息传播渠道的商业模式保驾护航,信息源的信息获取技术取代雅虎和谷歌的技术,也冲击了原有的商业模式。
在新商业模式尚未成形时,让我们看看信息源时代的商业模式是怎么样的。
这种商业模式并不如文章题目所诉仅仅是微博的,只是由于微博基本上属于基础配置,与这种商业模式休戚相关,所以在这里,先来表述一下微博的商业模式。
一、商业模式面临的二个问题信息源时代一条主题信息可以通过网民的相互传递,高效的覆盖到互联网的角角落落,这种的信息传播效果是传统信息传播渠道梦寐以求的,而现在众多的网民轻易完成信息传播任务,形成一个由众多网民组成的信息传播渠道。
信息传播渠道具有价值,现在这个价值由众多的网民共同创造,那么也理应由参与建设的网民来分享,如何让众多网民获得应得的酬劳,是商业模式成形的基础环节。
作为信息源网民参与到了信息传播渠道建设中,作为信息的获取者,网民获取对自己有需要,有价值的信息。
可以满足网民需要的信息,就是有价值的信息,如何让信息的这种价值得到体现,是商业模式要面临的另一个重要问题。
解决这两个问题,就解决了信息源资源问题,解决信息传播问题,让有价值的信息有效率的传递到需要者手上,在实现生产者、传播者商业利益的基础上满足需求者的需要,这就足以形成一个稳定有效的商业模式。
二、微博的商业模式桥归桥,路归路。
理论假设与实践永远是脱节的,从信息源时代的商业模式具体到微博的商业模式,从微博的商业模式具体到实践操作,每一步前面都有无数的大坑在等着,明白的未必做的到,做的到未必都要明白。
微博的商业模式可能是创新路线图,也很有可能是跳坑指南。
不过不管怎么样,先讨论,再运用。
现在从渠道价值和信息价值在微博上的落实,微博平台的价值三个方面进行逻辑推导。
1. 信息源渠道价值的体现物以类聚,人以群分。
众网友在微博上根据自己的爱好兴趣,寻找各自认同、欣赏、膜拜的粉主,加入他们的粉丝群体。
看新闻的粉媒体,追星的粉明星,炒地产的粉房开,炒股的粉股神等等。
新浪微博龙年@V春晚活动(策划创意框架方案)

V幸福之自我调节秘诀——
真着急,假生气;热问题,冷处理; 敢碰硬,不硬碰;不找事,不怕事; 走直道,拐活弯;干累活,会歇息; 办事情,分缓急;过去事,不后悔; 眼前事,莫攀比;得到的,会失去; 失去的,由它去;得志时,不忘形; 失意时,不伤悲;常宽己,好心情; 多迷糊,长乐呵;尽全力,平常心。
普通人的V幸福——(网摘) 幸福有时于很多东西无关,但于 感觉有关;普通老百姓的幸福其 实就是感觉上的幸福! 幸福是一种心态,一种意境,一 种感觉,一种体会,幸福因人而 异各不相同。 幸福的标准每个人都不一样,我 认为家庭和睦,身体健康比有没 有钱更重要,活的开心点才能更 深刻的感受到美好的东西。 国之幸福来源于国泰民安、家之 幸福来源于家庭和睦、人之幸福 来源于自身感受。 幸福在一些人眼里也许就是财富、 地位和名望,但是,位高权重、 家财万贯的人不一定幸福!幸福 其实很简单,它就是一种心境, 一种个人体味!幸福的实质就是 精神,就是“采菊东篱下,悠然 见南山”的超脱淡然人生!
独臂女孩马丽的V幸福—— 看过舞蹈《牵手》的人应该会对 我有一点了解,我就是剧中的那 个女演员马丽。舞蹈《牵手》是 根据我的真实经历创编而成,让 大家认识了我这个带着残缺身体 的人还在继续自己的人生梦想和 理想爱情。坚强是每个人的根 基,但是每个人的生活更应该丰 富多彩,这是对生活的一种态 度,我要满怀激情地生活下去。
新浪网案例分析

案例分析题目: 新浪网案例分析院系名称:专业班级:学生姓名:学号:2012年4月 18日目录一、新浪网的基本情况及功能框架.....................错误!未定义书签。
二、商业模式 (2)(1、)战略目标 (2)(2、)目标用户群 (2)(3、)产品和服务 (3)(4、)收入与价值来源 (9)(5、)关键措施 (9)(6、)核心能力 (9)(7、)营销策略 (10)三.技术模式 (10)四、经营模式 (11)五、管理模式 (12)(1、)组织结构 (2)(2、)人力资源管理 (2)(3、)网站管理 (3)(4、)经营管理 (9)六、资本模式 (13)七、总结与建议 (13)一、新浪网的基本情况新浪(NASDAQ: SINA)是一家服务于中国及全球华人社群的领先在线媒体及增值资讯服务提供商。
新浪拥有多家地区性网站,以服务大中华地区与海外华人为己任,通过旗下五大业务主线:即提供网络新闻及内容服务的新浪网()、提供移动增值服务的新浪无线(SINA Mobile)、提供Web 2.0服务及游戏的新浪互动社区(SINA Community)、提供搜索及企业服务的新浪企业服务()以及提供网上购物服务的新浪电子商务(SINA E-Commerce),向广大用户提供包括地区性门户网站、移动增值服务、搜索引擎及目录索引、兴趣分类与社区建设型频道、免费及收费邮箱、博客、影音流媒体、网络游戏、分类信息、收费服务、电子商务和企业电子解决方案等在内的一系列服务。
公司收入的大部分来自网络广告和移动增值服务,少部分来自搜索及其他收费服务。
新浪网是由王志东创立,和搜狐、网易、腾讯并称为“中国四大门户”。
新浪网下辖北京新浪、香港新浪、台北新浪、北美新浪等覆盖全球华人社区中文网站的全球最大中文门户网站。
旗下五大业务主线:即提供网络新闻及内容服务的新浪网、提供移动增值服务的新浪无线(SINA Mobile)、提供Web 2.0服务及游戏的新浪互动社区(SINA Community)、提供搜索及企业服务的新浪企业服务,以及提供网上购物服务的新浪电子商务(SINA E-Commerce)向广大用户提供包括地区性门户网站、移动增值服务、搜索引擎及目录索引、兴趣分类与社区建设型频道、免费及收费邮箱、博客、影音流媒体、楚游、分类信息、收费服务、电子商务和企业电子解决方案等在内的一系列服务。
新闻媒体与微博协商的框架建构——以温州动车事故的微博协商为例

作 者 简 介 :胡 菡 菡 ,法 学 博 士 , 南 京 大 学新 闻传 播 学 院 讲 师 ( 江 苏 南京 2 1 0 0 9 3 )
9 2
胡 菡 菡 :新 闻 媒 体 与 微 博 协 商的 框 架 建 构 —— 以温 州 动 车 事 故 的微 博协 商 为 例
之成 为针 对微 博协 商而 不是 针对 新 闻报道 的分 析工 具 。这在下 文研 究设 计 中会有 具体 阐述 。 二 、文 Nhomakorabea 回顾
( 一 )有 关框 架理论
J o u r n a l o f Ch i n a Un i v e r s i t y o f Ge o s c i e n c e s( S o c i a l S c i e n c e s Ed i t i o n )
V o1 .1 4 NO.1
J a n . 2 0 l 4
框架理论产生于传统新闻媒体时代它着重阐述传统新闻媒体对受众的影响至于受众如何反过来影响传统新闻媒体框架则很少涉及而微博协商涉及新闻媒体和受众等众多主体存在受众影响传统新闻媒体的现象所以对微博协商的研究能够为框架理论的自我更新提供新鲜的经验材料
第1 4 卷第 1 期
2 0 1 4年 1月
中 国 地质 大 学 学 报 ( 社 会 科 学版 )
从 2 O世纪 7 0年代 起 ,美 国研 究新 闻生 产 的学 者 开 始采 用 建 构论 观 点 ,来 分 析大 众 新 闻媒 体 如何 生
产 出特定 的新 闻媒 体框架 。他们认 为 ,对新 闻工作者 而 言 ,框 架 意味着 简 化复杂 的社 会事 实 ,按照某 种 常
《人民日报》官方微博的媒体框架研究

《人民日报》官方微博的媒体框架研究摘要:本文以框架理论为基础,结合当下微博的发展现状,对@人民日报进行媒体框架研究,考察其内容特点和传播策略,揭示出其媒体框架,并指出其在微博运营方面存在的问题。
关键词:媒体框架《人民日报》官方微博微博运营美国著名社会学家戈夫曼(Goffman)认为,框架是人们用来阐释外在客观世界的心理模式;框架能使我们确定、理解、归纳、指称事件和信息。
媒体框架起作用的过程,就是媒体通过选择新闻事实形成媒介议题,使某些事实凸显出来,进而影响人们对现实问题重要性的认识。
媒体微博可以看作是媒体在微博平台上的延伸,微博生产者在媒体的特定框架下选择、强调或重组新闻事件和其他信息,利用微博的方式对材料进行组合,使之在微博上体现媒体赋予的意义,并影响微博“粉丝”对该事件或信息的诠释。
因此,对媒体微博的框架分析有助于解读其运营策略和传播效果。
笔者选取《人民日报》官方微博在2014年1月1日至3月31日期间发布的4954条微博作为分析样本(所有数据选取时间截至2014年5月9日15:00),对微博的主题、类型、发布时段和发布形式等13个方面进行量化研究,并对微博的语言表达进行文本分析,以期揭示其媒体框架。
一、《人民日报》官方微博的传播策略1.多样化主题呈现主流媒体风格,温情类内容塑造亲民形象。
@人民日报发布的微博呈现出主题多样化的特征(见表1)。
同时,在主题分布上又有所侧重,社会民生、国际新闻和时事政治主题微博占据了其发布总数的一半以上,符合主流大报的角色定位。
为了转变严肃、刻板的形象,@人民日报还增加了百科知识和人生哲理主题的比重,关注了微博年轻“粉丝”的生活和情感需求。
2.通过设置微栏目整合信息,依据受众习惯平衡发布节奏。
微博平台海量、即时的信息传播带来了便捷性,同时也引起了信息泛滥和传播低效的问题。
为此,@人民日报设置微栏目来有效地整合信息。
统计发现,新闻报道类的数量占样本总数的一半以上(58.0%),其次为观点评论类(25.2%)、生活服务类(13.0%)、网友互动类(3.6%)以及其他(0.2%)。
微博内容提取

微博内容提取摘要随着近年来微博等社交软件的使用人数日益增多,微博的隐私发展也成为人们日益关注的问题,然而由于微博没有固定的格式约束使得在微博的研究过程中有一些无意义的“噪音”的干扰,本文主要是为了完成微博的“噪音”过滤问题,实现一个小软件,来将新浪微博等微博中下载到本地的微博来进行过滤,去除其中的噪音,提取出纯净的页面内容,主要工作包括以下几个方面:(1)字符串的查找函数与分割函数的实现。
(2)多个文件的查找的函数的实现。
(3)固定字符串的即表情“噪音”的过滤实现。
(4)具有一定正则文法的“噪音”的过滤实现。
关键字:中文微博,微博,过滤,噪音,正则Microblogging content extractionAuthor: LiudiTutor: YangkexinAbstractWith recent years the number of micro-blog using social software is increasing, the development of micro-blog privacy has become a growing concern,However, due to the micro blog there is no fixed format constraint makes the interference of some meaningless "noise" in the research process of micro blog. the purpose of this paper is to complete the "noise" micro-blog filtering problem, the realization of a small software, to be used for filtering the download to the Sina micro-blog micro-blog etc., remove the noise, extract the page content is pure, the main work includes the following aspects:(1) the search function and the function of the string segmentation.(2) the implementation of the search function for multiple files(3) the filter of the expression "noise" of the fixed string.(4) the filter of a certain regular grammar "noise" of the fixed string.Keywords: Chinese micro-blog,micro-blog,filtering ,noise ,regular目录目录 (1)第1章绪论 (1)1.1 研究背景 (1)1.2 国内外研究现状 (2)第2章需求分析 (3)第3章支持平台与开发平台的选择 (4)3.1 平台环境 (4)3.2 开发工具的选择 (4)第4章系统的总体功能分析与结构图 (5)4.1 系统功能分析 (5)4.1.1过滤微博功能 (5)4.1.2读取微博功能 (5)4.1.3删除微博功能 (5)4.1.4处理所有功能 (5)4.1.5退出功能 (6)4.2 系统的功能特点 (6)4.3 系统功能结构图 (7)第5章数据结构的设计与主要全局变量介绍 (8)第6章系统的详细设计 (9)6.1 主界面模块 (9)6.1.1主界面 (9)6.1.2主界面模块流程图 (10)6.2 文件选择模块 (11)6.2.1文件选择界面: (11)6.2.2流程图 (12)6.2.3主要程序代码 (13)6.3 微博过滤模块 (14)6.3.1微博过滤模块界面: (14)6.3.2流程图: (15)6.3.3、主要代码 (17)6.4 批量处理模块 (19)6.4.1流程图: (19)6.4.2、主要代码 (20)6.5 删除模块: (20)6.5.1删除模块 (20)6.5.2删除模块流程图 (21)第7章系统测试与维护 (22)7.1 系统测试 (22)7.2 系统维护 (22)第8章结论 (23)致谢 (24)参考文献 (25)第1章绪论1.1 研究背景微博(Mirco Blog),是用户关系的获取,信息共享,信息传播的平台,用户可以通过多种形式(网页,APP,移动网页,轻应用,第三方客户端等)登录微博,随时随地发布或者分享文字,图片,视频等内容,与好友之间实现信息的即时分享。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大家下午好,在座的大部分都是技术开发者,技术开发者往往对微博这个产品非常关心。
最晚的一次,是12点多收到一个邮件说想了解一下微博底层是怎么构架的。
很多技术人员对微博的构架非常感兴趣,就是一个明星他有300万粉丝,这个技术怎么来实现?今天在这里跟大家分享一下微博的底层机构,让大家对微博的底层技术有更好的了解。
另外不管是做客户端、1.0、2.0、论坛、博客都要考虑架构的问题,架构实际上是有一些共性的。
今天我通过讲解微博里面的一些架构,分析一下架构里面哪些共性大家可以参考。
首先给大家介绍一下微博架构发展的历程。
新浪微博在短短一年时间内从零发展到五千万用户,我们的基层架构也发展了几个版本。
第一版就是是非常快的,我们可以非常快的实现我们的模块。
我们看一下技术特点,微博这个产品从架构上来分析,它需要解决的是发表和订阅的问题。
我们第一版采用的是推的消息模式,假如说我们一个明星用户他有10万个粉丝,那就是说用户发表一条微博的时候,我们把这个微博消息攒成10万份,这样就是很简单了,第一版的架构实际上就是这两行字。
第一颁的技术细节,典型的LAMP架构,是使用Myisam搜索引擎,它的优点就是速度非常快。
另外一个是MPSS,就是多个端口可以布置在服务器上。
为什么使用MPSS?假如说我们做一个互联网应用,这个应用里面有三个单元,我们可以由三种部署方式。
我们可以把三个单元部署在三台服务器上,另外一种部署模式就是这三个单元部署在每个服务器上都有。
这个解决了两个问题,一个是负载均衡,因为每一个单元都有多个结点处理,另外一个是可以防止单点故障。
如果我们按照模式一来做的话,任何一个结点有故障就会影响我们系统服务,如果模式二的话,任何一个结点发生故障我们的整体都不会受到影响的。
我们微博第一版上线之后,用户非常喜欢这个产品,用户数增长非常迅速。
我们技术上碰到几个问题。
第一个问题是发表会出现延迟现象,尤其是明星用户他的粉丝多。
另外系统处理明星用户发表时候的延迟,可能会影响到其他的用户,因为其他的用户同一时间发表的话,也会受到这个系统的影响。
我们就考虑这个系统怎么改进。
首先是推模式,这肯定是延迟的首要原因,我们要把这个问题解决掉。
其次我们的用户越来越多,这个数据库表从一百万到一亿,数据规模不一样处理方式是有差别的。
我们第一版单库单表的模式,当用户数量增多的时候,它不能满足就需要进行拆分。
第二个是锁表的问题,我们考虑的是更改引擎。
另外一个是发表过慢,我们考虑的是异步模式。
第二版我们进行了模块化,我们首先做了一个层,做了拆分,最右边的发表做了异步模式。
第二个服务层,我们把微博基础的单元设计成服务层一个一个模块,最大是对推模式进行了改进。
首先看一下投递模式的优化,首先我们要思考推模式,如果我们做一下改进把用户分成有效和无效的用户。
我们一个用户比如说有一百个粉丝,我发一条微博的时候不需要推给一百个粉丝,因为可能有50个粉丝不会马上来看,这样同步推送给他们,相当于做无用功。
我们把用户分成有效和无效之后,我们把他们做一下区分,比如说当天登陆过的人我们分成有效用户的话,只需要发送给当天登陆过的粉丝,这样压力马上就减轻了,另外投递的延迟也减小了。
我们再看数据的拆分,数据拆分有很多方式,很多互联网产品最常用的方法,比如说如可以按照用户的UID来拆分。
但是微博用户的一个特点就是说大家访问的都是最近的服务器,所以我们考虑微博的数据我们按照时间拆分,比如说一个月发一张表,这样就解决了我们不同时间的惟度可以有不同的拆分方式。
第二个考虑就是要把内容和索引分开存放。
假如说一条微博发表的地址是索引数据,内容是内容数据。
假如说我们分开的话,内容就简单的变成了一种key-value的方式,key-value是最容易扩展的一种数据。
比如说一个用户发表了一千条微博,这一千条微博我们接口前端要分页放,比如说用户需要访问第五页,那我们需要迅速定位到这个记录。
假如说我们把这个索引拆分成一个月一张表,我们记录上很难判断第五页在哪张表里,我们需要索引所有的表。
如果这个地方不能拆分,那我们系统上就会有一个非常大的瓶颈。
最后我们想了一个方法,就是说索引上做了一个二次索引,改变我们还是按照时间拆分,但是我们把每个月记录的偏移记下来,就是一个月这个用户发表了多少条,ID是哪里,就是按照这些数据迅速把记录找出来。
异步处理,发表是一个非常繁重的操作,它要入库、统计索引、进入后台,如果我们要把所有的索引都做完用户需要前端等待很长的时间,如果有一个环节失败的话,用户得到的提示是发表失败,但是入库已经成功。
所以我们做了一个异步操作,就是发表成功我们就提示成功,然后我们在后台慢慢的消息队列慢慢的做完。
另外新浪发表了一个很重要的产品叫做MemcacheQ,我们去年做了一个对大规模部署非常有利的指令,就是stats queue,适合大规模运维。
第二版我们做了这些改进之后,微博的用户和访问量并没有停止,还有很多新的问题出现。
比如说系统问题,单点故障导致的雪崩,第二个是访问速度问题因为国内网络环境复杂,会有用户反映说在不同地区访问图片、js这些速度会有问题。
另外一个是数据压力以及峰值,MySql复制延迟、慢查询,另外就是热门事件,比如说世界杯,可能会导致用户每秒发表的内容达到几百条。
我们考虑如何改进,首先系统方面循序任意模块失败。
另外静态内容,第一步我们用CDN来加速,另外数据的压力以及峰值,我们需要将数据、功能、部署尽可能的拆分,然后提前进行容量规划。
另一方面我们还有平台化的需求,去年11月我们就说要做开放平台,开放平台的需求是有差异的,Web系统它有用户行为才有请求,但是API 系统特别是客户端的应用,只要用户一开机就会有请求,直到他关闭电脑这种请求一直会不间断的过来,另外用户行为很难预测。
系统规模在持续的增大,另外也有平台化的需求,我们新架构应该怎么做才能满足这些需要?我们看一下同行,比如说Google怎么样考虑这个问题的?Google首席科学家讲过一句话,就是一个大的复杂的系统,应该要分解成很多小的服务。
比如说我们在执行一个搜索查询的话,实际上这个操作会调动内部一百多个服务。
因此,我们第三版的考虑就是先有服务才有接口最后才有应用,我们才能把这个系统做大。
现在我们看一下第三版,首先我们把底层的东西分成基础服务,基础服务里面比如说分布式的存储,还有分层,我们做了一些去中心化、自动化的操作。
在基础服务之上有平台服务,我们把微博常用的应用做成各种小的服务。
然后我们还有应用服务,这个是专门考虑平台各种应用的需求。
最上面我们有API,API就是新浪微博各种第三方应用都在上面跑。
四平台服务和应用服务是分开的,这样实现了模块隔离,即使应用服务访问量过大的话,平台服务不会首先影响。
另外我们把微博的引擎进行了改进,实现了一个分层关系。
用户的关注关系,我们改成一个多惟度的索引结构,性能极大的提高。
第四个层面就是计数器的改进,新版我们改成了基于偏移的思路,就是一个用户他原来读的一个ID比如说是10000,系统最系的ID是10002的话,我们和清楚他有两条未读。
原来的版本是采用绝对技术的,这个用户有几条未读都是用一个存储结构的话,就容易产生一致性的问题,采用这种偏移的技术基本上不会出错。
另外基础服务DB冷热分离多维度拆分,在微博里面我们是按照时间拆分的,但是一个大型的系统里面有很多业务需要有不同的考虑。
比如说私信这个就不能按照时间来拆分,这个按照UID来拆分可能更简单。
然后我们突出存储还做了一个去中心化,就是用户上传图片的速度会极大的提高,另外察看其他用户的图片速度也会极大的提高。
另外是动态内容支持多IDC同时更新,这个是在国内比较新颖的。
下面给大家介绍一下新浪微博怎么样打造一个高性能架构。
到目前为止有五千万用户使用新浪微博,最高发表3000条以上每秒,然后一个明星用户发表的话,会被几百万用户同时读到。
这些问题的本质是我们架构需要考虑高访问量、海量数据的情况下三个问题。
易于扩展、低延迟、高可用和异地分布。
我们每天有数十亿次外部网页以及API接口的需求,我们知道微博的特点是用户请求是无法cache的。
因此面对这个需求我们怎么样扩展?几点思路。
第一我们的模块设计上要去状态,我们任意一个单元可以支持任意节点。
另外是去中心化,避免单点及瓶颈。
另外是可线性扩展。
最后一个是减少模块。
我们要做一个高性能的系统,要具备一个低延迟、高实时性,微博要做到高实时性这是核心的价值,实时性的核心就是让数据离CPU最近,避免磁盘的IO。
我们看淘宝核心系统专家余锋说过的一句话“CPU访问L1就像从书桌拿一本书,L2是从书架拿一本书,L3是从客厅桌子上拿一本书,访问主存就像骑车去社区图书馆拿一书”。
我们微博如果要做到非常实时的话,我们就需要把数据尽量离CPU节点最近。
所以我们看一下cache 设计里面怎么达到这个目标。
首先INBOX,这个数据我们需要放再一个最快的地方,因为用户随时访问。
OutBOX里面的最近发表就是L1cache,还有一个是中期的,这个因为访问少一点,它可以被踢。
最后一部分内容体有三部分。
L0是本地的,我们需要把一些经常访问的,比如说明星发表微博的内容体本地化,因为它被访问的概率非常大。
然后L1里面存放着最近发表的,还有一个是中期的。
我们通常用L2就可以了,L1我们可以理解成它就是一个存储。
一个好的架构还需要举行高可用性。
我们看一下业界的指标,S3是99.9%,EC2是99.5%,我们另外一个同行Face book在这方面它是没有承诺的,就是接口可用写。
微博平台目前承诺的是99.95%,就是说一天365天故障率应该小于9个小时。
这个怎么达到?第一我们要做容量规划,地个是要做好监控以及入口的管理,就是说有些服务如果访问量过了的话,我们要有一个开关可以拦住他。
我们通过这个图表可以清楚的看到,比如说我们要做L1的cache,我们剩余空间有多少,比如说80%,就说明这个数据有可能会丢失,有可能会对我们的系统造成影响。
另外一个层面就是接口监控,我们目前有Google维度的接口监控,包括访问错误失败率。
然后要做架构,给大家一个很重要的经验分享,就是说监控的指标尽量量化。
比如说他延迟30秒是小问题,如果是延迟10分钟我们就要立即采取措施了,就是所有可以量化的指标都要量化。
然后我们看监控怎么样更好的做?我们看亚马逊的VP说过的一句话,就是说监控系统确实特别好,可以立即告诉我们哪里有故障,但是有20%的概率我们人是会出错的。
所以我们一个大型系统就应该要为自动化设计,就是说尽可能的将一些运作自动化。
比如说发布安装、服务、启用、停止。
我们再看另外一句,Google的工程师是怎么做的。
他是这么做的,比如说第一周是处理线上的业务,这一周他处理了很多事情,处理了很多系统的情况,剩下的系统问题是不需要他做的,他只要把这一周碰到的情况用程序的方法来解决,下次再碰到这种情况很简单的一个按钮就可以处理了。