Linux 之父出席、干货分享、圆桌讨论,精彩尽在 OpenCloudOS 社区开放日,报名戳 了解详情
写点什么

分布式流处理框架 Apache Samza 成为 Apache 的顶级项目

  • 2015 年 2 月 05 日
  • 本文字数:1413 字

    阅读完需:约 5 分钟

Apache Samza 是一个开源、分布式的流处理框架,它使用开源分布式消息处理系统 Apache Kafka 来实现消息服务,并使用资源管理器 Apache Hadoop YARN 实现容错处理、处理器隔离、安全性和资源管理。近日,从 Apache 官方博客中得知,开源的分布式流处理框架 Samza 历经 18 个月的孵化期后终于升级成为 Apache 的顶级项目。Samza 由 LinkedIn 于 2013 年 9 月开源并作为孵化项目贡献给Apache。

LinkedIn 的工程部和运营部的高级副总裁 Kevin Scott 在公布消息的博文中说到:

Samza 能够被广泛的使用并成为 Apache 的顶级项目真是令人兴奋,开发 Samza 是为了帮助解决 LinkedIn 流数据处理高性能的挑战,Samza 已经成为 LinkedIn 业务架构的核心部分。

Improve Digital 的 CTO Garry Turkington 在博文中说到:

Improve Digital 已经积累了丰富的 Samza 经验,这使得 Improve
Digital 使用 Samza 能够构建出功能强大的流数据处理平台。此外,Samza 能够升级成为 Apache 顶级项目真是太棒了。

Samza 非常适用于实时流数据处理的业务(如同 Apache Storm ),如数据跟踪、日志服务、实时服务等应用,它能够帮助开发者进行高速消息处理, 同时还具有良好的容错能力。在 Samza 流数据处理过程中,每个 Kafka 集群都与一个能运行 Yarn 的集群相连并处理 Samza 作业。Samza 的一个简单处理过程如下图所示:

Samza 的主要特征如下:

  • 简单的 API:Samza 提供了一个简单基于回调且兼容 MapReduce 的消息处理 API。
  • 状态管理:Samza 提供了一个基于 LevelDB 的 Key/Value 数据库来存储历史数据,从而实现了有状态的消息管理。
  • 容错处理:每当集群中的一台机器发生故障时,YARN 将会透明地将相关任务迁移到其他机器上。
  • 持久性:Samza 使用 Kafka 保证消息的有序处理,并能够持久化到分区,不存在发生消息的丢失的可能。
  • 可扩展性:Samza 在每个层结构都是可分区和分布式的,Kafka 提供了有序、可分区、可追加、容错的流;YARN 提供了一个分布式、供 Samza 运行的容器环境。
  • 可插拔 / 开箱即用:Samza 提供了一个可插拔特性的 API,该 API 使得 Samza 不仅能够使用 Kafka 和 YARN,还能够使用其他的消息系统和执行环境。
  • 资源隔离:通过使用 YARN 实现了对 Hadoop 安全模型和资源隔离的支持。

LinkedIn、Microsoft、 Confluent 、Oracle、 Hortonworks Uber Improve Digital 等众多著名公司都在为 Samza 贡献代码。Samza 已在商务智能(BI)、金融服务、医疗保健、安全服务、移动应用、软件开发等行业得到了广泛应用,其用户包括企业移动应用提供商 DoubleDutch 、欧洲领先的实时广告技术提供商 Improve Digital、金融服务公司 Jack Henry & Associates 、移动商务解决方案提供商 MobileAware 、基于云的微服务提供商 Quantiply 、社交媒体商务智能解决方案提供商 VinTank 等。

此外,实时 / 流计算框架除了 Samza 外,还包括 Google Dremel Apache Drill 、Apache Storm 以及 Apache S4 等。有兴趣的读者可以通过官方提供的 Hello Samza 工程尝试下 Samza,或者参见 Background 页面以获得更多关于 Samza 的信息。读者还可以阅读 LinkedIn 资深 SRE Jon Bringhurst 发表的一篇博文,该篇博文主要阐述了LinkedIn 是如何利用Samza 与Yarn、Kafka 进行扩展的,它能够帮助大家深一步地了解Samza。


感谢郭蕾对本文的审校。

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

2015 年 2 月 05 日 10:084091
用户头像

发布了 46 篇内容, 共 48.6 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

如何给 kitex 贡献单元测试

baiyutang

开源 字节跳动 微服务 5月月更 kitex

springboot启动失败的问题('hibernate.dialect' not set)

程序员欣宸

Java 5月月更

比特币跌破27000美元!币圈大佬损失惨重,最高身价缩水近9成

CECBC

区块链有什么价值?

CECBC

C++中字符三兄弟(WCHAR、CHAR、TCHAR)

liuzhen007

c c++ 5月月更

贝叶斯简介

5月月更

druid源码学习七

Nick

网站开发进阶(七十一):css伪元素::before和::after用法详解

No Silver Bullet

css3 5月月更 伪元素 伪类

druid 源码阅读 7——keepAlive实现方式

张大彪

AiGuild:GameFi的3.0形态

威廉META

5.17电信日 | 融云积极消除数字鸿沟 助力打造数字化新基建

融云 RongCloud

使用 nginx 配置项的好习惯

liuzhen007

nginx 5月月更

融云 x Zervo:打造欧美 Z 世代社交的「主题幻想世界」

融云 RongCloud

架构训练营第一次作业

地下地上

【愚公系列】2022年05月 二十三种设计模式(十六)-迭代器模式(Iterator Pattern)

愚公搬代码

5月月更

FFmpeg安装

Loken

音视频

C语言打印程序行号、日期方便调试程序

DS小龙哥

5月月更

【C 语言】指针 Three 之 [赋值语句的方法、指针变量的大小、上述总结、 * 和 & 认识、对解引用(*)认识]

泽En

5月月更

☕️从 Java8 到 Java17 的新特性(十):Java17 的新特性

看山

Java java17

设计模式之观察者模式

乌龟哥哥

5月月更

架构实战营模块一作业

融冰

有了这10个GitHub仓库,开发者如同buff加持

华为云开发者联盟

GitHub 开源 Web 软件开发

☕️从 Java8 到 Java17 的新特性(九):Java16 的新特性

看山

Java java16

架构实战营-第一周

Asura

Flutter StatefulBuilder 示例

坚果

5月月更

ffmpeg封装格式转换

Loken

音视频 5月月更

7件大事回顾加密史上最疯狂一周

CECBC

加入MOVE,一起体验Move2Earn的运动乐趣

股市老人

Go 语言入门很简单:AES加密和解密

宇宙之一粟

AES Go 语言 5月月更

Druid连接池源码阅读07

石小天

架构训练营-模块一

yuansteel

GPU容器虚拟化:用户态和内核态的技术和实践详解

GPU容器虚拟化:用户态和内核态的技术和实践详解

分布式流处理框架Apache Samza成为Apache的顶级项目_Apache_李小兵_InfoQ精选文章