微博平台的链路追踪及服务质量保障系统:Watchman系统

如其他大中型互联网应用一样,微博平台由众多的分布式组件构成,用户通过浏览器或移动客户端的每一个HTTP请求到达应用服务器后,会经过很多个业务系统或系统组件,并留下足迹(footprint)。但是这些分散的数据对于问题排查,或是流程优化都帮助有限。对于这样一种典型的跨进程/跨线程的场景,汇总收集并分析这类日志就显得尤为重要。另一方面,收集每一处足迹(footprint)的性能数据,并根据策略对各子系统做流控或降级也是确保微博平台高可用的重要因素。要能做到追踪每个请求的完整调用链路;收集调用链路上每个服务的性能数据;通过计算性能数据和比对性能指标(SLA)再回馈到控制流程(control flow)中,基于这些目标就诞生了微博的Watchman系统。在业界,Twitter的Zipkin和淘宝的鹰眼系统也是类似的系统。

这样的系统通常有几个设计目标:

低侵入性(non-invasivenss):作为非业务组件,应当尽可能少侵入或者不侵入其他业务系统,保持对使用方的透明性,可以大大减少开发人员的负担和接入门槛。

灵活的应用策略(application-policy):可以决定所收集数据的范围和粒度。

时效性(time-efficient):从数据的收集和产生,到数据计算/处理,再到展现或反馈控制,都要求尽可能得快速。

决策支持(decision-support):这些数据数据是否能在决策支持层面发挥作用,特别是从DevOps的角度。

Watchman系统架构图

对于这些设计目标,Watchman系统是怎么样做的呢?

既然要追踪调用链路要收集数据,通常的做法就是通过代码埋点来记录日志。这样一方面要求在所有需要收集数据的地方侵入代码进行修改,并且(可能)引入新的依赖。比如淘宝的鹰眼系统在跨进程的远程调用两侧(stub和skeleton)通过埋点记录数据并传递请求上下文(request-context)。

watchman-runtime组件利用字节码增强的方式在载入期织入增强逻辑(load-time weaving),为了跨进程/线程传递请求上下文,对于跨线程watchman-enhance组件通过javaagent的方式在应用启动并载入class时修改了JDK自身的几种线程池(ThreadPool或几类Executor)实现,在客户代码提交(execute或submit)时对传入的runnable/callable对象包上具有追踪能力的实现(proxy-pattern),并且从父线程上去继承或初始化请求上下文(request-context);如下图所示:

时间: 2024-09-17 03:35:36

微博平台的链路追踪及服务质量保障系统:Watchman系统的相关文章

微博平台核心服务接口的可用性

随着2014年元旦微博平台抗峰的顺利通过,2013年微博平台核心服务接口的可用性指标被定格在99.991%. 微博服务可用性提升是2013年微博平台技术团队的一个重要目标,为此,平台内部还特别建立的微博平台的SLA指标体系,其中微博平台核心服务接口(主要以feed服务相关接口为主)的可用性指标为:全年平均接口请求性能<100ms的比例>99.99%,即4个9的可用性指标. 我们的挑战在哪里? 说到feed服务大家都知道,feed服务是微博最核心,最有价值的服务,于是它也是产品经理们花心思最多的

微博平台的RPC服务化实践概述

2014年第一分钟,新浪微博的发布量以808298条再次刷新记录,第一秒微博发布量相较去年提升55%.(数据来源:新浪科技 )这是微博平台 RPC 框架 "Motan" 上线后第一次抗峰值,整体表现平稳,基本达到最初的"应用方无感知"的目标. 在RPC服务化这个事情上,微博平台不是第一个吃螃蟹的:早的有亚马逊和eBay等国外先驱,近的有Twitter的finagle,淘宝的dubbo等等,网上各种公开的资料铺天盖地.另一方面,单纯的RPC调用功能实现,从技术上看其实

欧洲杯期间腾讯体育联动腾讯微博平台强势出击

2012http://www.aliyun.com/zixun/aggregation/2727.html">欧洲杯已经落下帷幕.近日,腾讯方面宣布,欧洲杯期间,腾讯体育联动腾讯微博平台强势出击,以文字.图片.视频等多种"微"观赛事形式,全方位立体性地呈现19个比赛日赛况,吸引了超过500万热情球迷的全程互动,而外围观赛覆盖人群更是达到了4500万,腾讯微博平台更是创造了超过2亿条球迷话题广播的新纪录. 欧洲杯结束当日,搜索关键词"巴神",显示广播数

高达58.57%的CEO认为腾讯会逐渐开放微博平台

摘要: 腾讯科技的调查显示,高达58.57%的CEO认为腾讯会逐渐开放微博平台.这与腾讯董事会主席兼CEO马化腾观点相一致,马化腾曾在腾讯微博中表示:"会开放API的.只是还差不少工作量,要 8月20日消息,在2010互联网大会上腾讯科技现场专访了上百位CEO及专家,并针对其中70位嘉宾做出问卷调查.调查显示,近6成CEO认为腾讯微博平台将逐渐全面开放,淘宝则是最被看好的国内尚未上市的互联网公司. 在互联网大会的3天里,腾讯科技开展了这项"2010年中国互联网产业"问卷调查,

统一的微博平台将以“微博矩阵”的方式呈现

北京市各大医院和市医管局.中医局都要在下月底之前开通微博.北京市卫生局2月13日要求,不但要开通,而且要做到"不做僵尸.不做秀",并对http://www.aliyun.com/zixun/aggregation/549.html">发布的内容严格把关. 据北京晨报报道,北京市卫生局表示,今后统一的微博平台将以"微博矩阵"的方式呈现,因此这些官方微博将多数开设在新浪网.目前疾控中心.120.卫监所.血液中心.儿童医院.儿研所.妇产医院.地坛医院等单位

腾讯体育联动腾讯微博平台

"四年一届的http://www.aliyun.com/zixun/aggregation/2727.html">欧洲杯,看了电视现场直播知道比分,还不过瘾,还想看看球赛背后的新闻,欣赏回放的精彩进球,了解球员的最新动态,听听专家的热辣评论,甚至,还想了解下赛事的花边新闻--"现在的球迷,已经不满足于坐在电视机前观看赛事,更想零距离的"亲历"赛事. 欧洲杯期间,腾讯体育联动腾讯微博平台,以文字.图片.视频等多种形式,全方位立体性地呈现19个比赛日的赛

浅谈百度说吧关闭后四大门户微博平台之争

中介交易 SEO诊断 淘宝客 云主机 技术大厅 一年前,百度说吧风风火火上线,当时出于对行业新鲜事的好奇,就算要实名,就算要手机号和身份证,还是去注册了一个说吧,玩了几天于是就不怎么玩了,至于为什么,因为我在腾讯和新浪都开通了微博,实在没有时间再去玩另外一个.或许从用户角度来说,说吧关闭也有这么一个原因吧. 至此,微博平台之争已经有一巨头倒下,那下一个会是谁呢? 之前的饭否等微博平台自不必说,百度这一互联网巨头在微博上的退出,现在就只有四大门户的微博之争了,下面来简单的谈谈微博平台各自的竞争优劣

115网盘推微博平台应用插件 支持国内主流微博

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 115网盘今日悄然上线微博平台应用插件 4月26日消息,国内知名网盘服务商115网盘今日悄然上线微博平台应用插件.腾讯科技登陆115网盘时发现,在"应用市场"按钮,发现应用列表中赫然新增了一款名为"115微博通"的应用. 经了解,这是115为用户打造的一款微博应用组件,无缝整合了包括腾讯微博在内的国内多

Facebook收购微博平台Storylane

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 [赛迪网讯]3月11日消息,据国外媒体报道,Facebook已经成功收购Storylane微博平台,在这个平台上用户可以像在社区里一样分享各种新闻.社交网络巨头Facebook收购的不仅是网站本身,还有其背后的工作团队.如此一来,用户如果在网上发布任何消息,就不用担心扎克伯格会对其有任何染指. Storylane的创始人Jonathan Gh