BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Pulsar:来自eBay的开源实时分析平台

| 作者 李小兵 关注 0 他的粉丝 发布于 2015年3月20日. 估计阅读时间: 5 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

Pulsar是一个来自eBay的高扩展性、高可用性、基于事件驱动的开源实时分析平台和流处理框架,它能够实时收集和处理用户行为和业务事件。Pulsar使用一种类似SQL的事件处理语言并通过对数据进行加工(如聚合、补充、变异和过滤等)以实现流的自定义创建。Pulsar具有实时Session化、多维度量聚合等功能,并具有每秒百万级流量处理能力和基于标准的分布式和跨越多个数据中心云部署架构等特征。

作为全球性的商务平台和支付行业领先者,eBay拥有海量的用户行为数据。过去,eBay使用面向批处理的数据平台(如Hadoop)对用户行为进行分析以提供良好的用户体验。近来,eBay商务平台出现了新的需求和使用场景,如实时生成报表和仪表盘、业务活动监控、个性化设置、市场营销和广告、不良行为监测等。至此,批量的大数据处理平台已不能满足业务对实时性的要求。于是,eBay研发团队基于Pulsar CEP(Complex Event Processing即复杂事件处理)框架并实现了Pulsar实时分析数据管道,从而开发出了Pulsar。eBay的CEP框架提供了一个基于Java的CEP框架和用来在云环境中构建、部署和管理CEP应用的工具。Pulsar实时分析数据管道由一些松耦合的阶段组成,从而提供了一个高可靠性和高扩展性的扩展模型。实时分析数据管道处理过程包括:补充、过滤、变异、聚合以及状态处理。

Pulsar的主要组件包括:

  • 收集组件(Collector):具有Rest风格的事件收集API;
  • Session化组件(Sessionizer):事件Session化、维护Session状态和生成Session开始和结束的标示事件,该组件还包括插件式的接口,该接口可用来集成第三其他存储系统从而实现Session的持久化;
  • 分发组件(Distributor):对数据进行过滤和变异操作以满足不同的消费者;负责事件的路由转发;
  • 度量计算组件(Metric Calculator):通过多维度进行计算并将计算结果持久化;
  • 回放组件(Replay): 为了避免数据的丢失,在其它阶段重传发送失败或未处理的事件;
  • 配置组件(ConfigApp): 为Pulsar实时分析数据管道配置和提供处理逻辑。

Pulsar的系统架构如下图所示:

从Pulsar的官网得知,Pulsar具有以下主要特征:

  • 高可扩展性:Pulsar能够跨集群节点对事件处理进行动态分区,并能够扩展为每秒处理数百万事件;此外,Pulsar能够集成Druid或Cassandra等存储系统;
  • 高可用性:Pulsar具有基于标准的分布式、跨多个数据中心云部署架构,所以在软件更新、流处理规则和拓扑结构改变过程中,无需停止服务;
  • 富有灵活性:类SQL的语言和注解能够用来定义流处理规则,包括声明式的管道拼接以做到在运行时能够自动适应动态拓扑改变;
  • 实时分析:Pulsar能够基于时间窗口实现多维度聚合和通过对数据进行加工处理(如补充、变异和过滤等)并自定义流的创建;
  • Session化:Pulsar的实时逻辑能够将用户事件分组到Session中,还能够事件Session化、维护Session状态和持久化Session等;
  • 高精确度:达到99.9%的数据精确度;
  • 支持云端部署:在跨数据中心的情况下,Pulsar通过Docker镜像能够将节点分布到标准的云计算基础架构环境中。

Pulsar CEP的处理逻辑能够部署在跨数据中心的许多节点(即CEP单元)上,每个节点都能够使用输入通道、输出通道以及处理逻辑进行配置,事件通常基于一个Key(如用户id)被分配到对应的节点上处理。在集群中扩展节点时,Pulsar借助Zookeeper实现了自动检测新的单元、重新平衡事件处理以及对故障节点的处理。Pulsar的部署架构如下图所示:

Pulsar已经在eBay生成环境中用来对用户行为事件进行分析。近日,eBay还宣布将Pulsar基于GPLv2协议开源,代码托管在GitHub,且Pulsar开放团队仍继续以开放的方式开发Pulsar。更多关于Pulsar信息,请读者阅读eBay官方提供的一篇介绍Pulsar的文章、Pulsar的FAQ内容以及GitHub提供的Wiki页面入门指南


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

江苏開发票13751200579李经理 by 大范甘迪 大范甘迪

⒈⒊⒎⒌⒈⒉00⒌⒎⒐李经理QQ;⒈⒈⒍⒈⒏⒏⒍⒌⒏0本公司承诺;受理谨慎 点数低。为客户节省运作成本提供优质服务!均可办理外地主要城市业务,互相合作向 往,若贵公司有疑问,欢迎来电咨询,我们会在第一时间回复您!
Pulsar已经在eBay生成环境中用来对用户行为事件进行分析。近日,eBay还宣布将Pulsar基于GPLv2协议开源,代码托管在GitHub,且Pulsar开放团队仍继续以开放的方式开发Pulsar。更多关于Pulsar信息,请读者阅读eBay官方提供的一篇介绍Pulsar的文章、Pulsar的FAQ内容以及GitHub提供的Wiki页面和入门指南。

南京開发票13751200579李经理 by 大范甘迪 大范甘迪

⒈⒊⒎⒌⒈⒉00⒌⒎⒐李经理QQ;⒈⒈⒍⒈⒏⒏⒍⒌⒏0本公司承诺;受理谨慎 点数低。为客户节省运作成本提供优质服务!均可办理外地主要城市业务,互相合作向 往,若贵公司有疑问,欢迎来电咨询,我们会在第一时间回复您!Pulsar已经在eBay生成环境中用来对用户行为事件进行分析。近日,eBay还宣布将Pulsar基于GPLv2协议开源,代码托管在GitHub,且Pulsar开放团队仍继续以开放的方式开发Pulsar。更多关于Pulsar信息,请读者阅读eBay官方提供的一篇介绍Pulsar的文章、Pulsar的FAQ内容以及GitHub提供的Wiki页面和入门指南。

Re: 江苏開发票13751200579李经理 by bfmss love

广告

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT