设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

支持百亿请求的微博广告运维技术实践(5)

发布时间:2019-12-06 01:47 所属栏目:117 来源:站长网
导读:同时,针对一些业务需求,我们需要将一些指标维度做关联处理,这里主要通过HBase实现指标的关联,比如,有曝光和互动两个日记,我们将曝光日志中的mark_id字段作为rowkey写入HBase中,并储存一个小时,当在时间窗口

同时,针对一些业务需求,我们需要将一些指标维度做关联处理,这里主要通过HBase实现指标的关联,比如,有曝光和互动两个日记,我们将曝光日志中的mark_id字段作为rowkey写入HBase中,并储存一个小时,当在时间窗口内互动日志匹配到相同的mark_id时,就将曝光日志的内容从HBase中取出,并与互动日志组合成一条新的日志,写入到一个新的Kafka Topic中。

此外,我们还将Kafka中数据消费写入ElasticSearch和HDFS中,用于日志检索和离线计算。

支持百亿请求的微博广告运维技术实践

▲ 图3-5 指标清洗

③ 指标储存

当前,我们通过ClickHouse来储存查询我们的监控指标。最初也是选择了流行的时序数据库Graphite。但是在长期的使用中,我们发现在复杂的多维分析上,Graphite并没有很好的体验。在去年,我们将我们的监控指标引擎替换成了现在的ClickHouse,ClickHouse是一款优秀的开源OLAP引擎,它在多维分析等功能上相比传统的时序数据库具有很大的优势。

同时,我们基于ClickHouse强大的函数功能和物化视图表引擎构建了一个实时的指标仓库。如图3-6所示,我们会将清洗后的指标写入到一张原始表中,比如这里的ods_A,我们再根据具体的监控需求在ods_A表上进行维度的聚合。再比如,我们将请求维度按秒聚合成agg_A_1s,或者按照psid维度按分钟聚合成agg_A_1m_psid,又或者我们按照用户id维度来统计每个用户的访问次数。

由此我们可以实现不同时间维度和不同业务维度的组合分析查询,同时提升了查询响应速度,以及数据的重复利用率。而原始表的存在也让我们可以根据不同的需求定制不同的复杂的聚合表数据。

支持百亿请求的微博广告运维技术实践

▲ 图3-6 实时指标仓库

④ 指标可视化

最后,我们通过Grafana实现我们的指标可视化,Grafana应该是当前全球最受欢迎的监控可视化开源软件,它支持很多的数据源,而ClickHouse也是其中之一,我们只需要写一条SQL就可以按照我们的想法在Grafana上以图表的形式呈现出来。如图3-7呈现的监控图就是图3-8这样一条简单的SQL实现的。

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读