2KB项目,专业的源码交易网站 帮助 收藏 每日签到

LinkedIn —— Apache Kafka 的伸缩扩大才能

  • 时间:2019-03-20 12:33 编辑:2KB 来源:2KB.COM 阅读:450
  • 扫一扫,手机访问
  • 分享
摘要:
Kafka 英文原文:Running Kafka At Scale

假如数据是高科技的性命线的话,Apache Kafka 就是 LinkedIn 公司正在运用中的轮回系统。我们运用 Kafka 在多系统之间搬移各种数据,它简直每天都接触每个Server。这个架构的庞杂性,和架构理论中采取的各类弃取,衍生出一种疾速又牢靠地大块数据传输的需求。

甚么是 Kafka?

Apache Kafka 是一个演进的宣布/定阅音讯系统。系统联合行列和音讯机制,可把它当做在一群Server间实行的日记提交进程。音讯被分红多个主题和分段,每一个主题支撑多个宣布者(生产者)和多个定阅者(花费者)。Kafka 群以杰出的方式为每个主题保管着这些音讯。

  • 关于特定的工夫(LinkedIn 在数天内丈量)

  • 关于分红段的特定巨细的音讯

  • 基于键的音讯,仅存储比来的音讯

Kafka 供给牢靠性、灵敏性和红利保存,同时高吞吐量地处置数据。

已有多篇关于 Kafka 的文章和会商,包含 talk given at ApacheCon 2014 by Clark Haskins 和我本人的。假如你还不熟习Kafka,你可能需求去检查这些链接来进修一些Kafka的根本操作道理。

多大算大?

Kafka 是不关怀音讯中的内容的。很多分歧类型的数据可以在一样的集群上被容易的共存,每种的数据会被分类成分歧的主题。生产者和花费者仅仅需求关怀他们感兴味的内容。LinkedIn让这更进一步,而且定义了四品种此外音讯:行列,怀抱,日记和追踪数据,每类都运转在他们本人的集群上。

当结合时,在 LinkedIn 的 Kafka 的系统上,天天有超越 8000 亿条音讯被发送,相当于超越 175 兆兆字节(terabytes)数据,别的,天天还会耗费掉 650 兆兆字节(terabytes)数据的音讯,为何Kafka有如许的才能去向理这么多发生的数据和耗费掉的数据,对每种音讯分类是一个主要缘由。在天天系统最忙碌的时分,我们每秒接纳超越 1300 万条音讯,相当于每秒 2.75 GB 数据。去向理这一切的信息,LinkedIn 运转超越 60 个集群,并在上脸部署超越 1100 个 Kafka 代办署理。

行列

行列 是大大多数人所想的那种规范信息类型:一个使用的部分生成音讯,另外一部分花费音讯。其它使用对这些音讯不感兴味,由于他们是用于和谐举措或是单个系统的形态的。这类类型的音讯用于发送邮件,分发由其他在线使用盘算出的数据集,或许与后端组件共同任务。

怀抱

怀抱 处置一切由使用操作发生的丈量后果。这包含面向使用的一切操作系统和硬件的统计数据,只需这些数据可以确保系统准确运作。这是LinkedIn的线人,用它可以看到一切Server和使用的形态,从而驱动我们外部的监测预警系统。假如你想要对我们的怀抱了解更多,可以浏览 我们的主动怀抱系统的原始设计, 也能够看Stephen Bisordi比来宣布的 主动怀抱的下一步往哪走

日记

日记包含使用顺序、系统和公共拜访日记。最后,为了便利,怀抱和日记共存于统一集群。如今因为日记量太大我们会不时地将日记数据别离出来。日记数据经过使用顺序发生到Kafka,然后会被其他系统读取用以日记聚合。

跟踪

跟踪包含了LinkedIn的根底架构火线中发作的一切行动,不论是的用户的仍是使用顺序的。这些行动不只需求与其他使用顺序交互也会进入到 Apache Samza的流处置和Apache Hadoop的批处置中。这恰是大数据的安身的地方:不断更新搜刮索引,跟踪付费办事的运用和及时丈量大范围增加的趋向。这四品种型的音讯机制对LinkedIn的正常运转相当主要,而跟踪数据则较为常用,由于履行层比拟注重并且凡是可以带来效益。

分层和聚合

与一切大型网站一样,LinkedIn需求治理大量的数据中间。一些使用,例如那些办事于特定的用户恳求的使用,它们只需求关怀在一个数据中间发作了甚么。另有很多其它使用,例如那些保持搜刮目次的使用,它们需求反省一切的数据中间发作了甚么。

关于每一个音讯目次,LinkedIn具有一个创立在数据中间的名为当地音讯容器的集群。它异样也是一个聚合集群,它将一切的当地集群的音讯整合到一个给定的目次。我们运用Kafka镜像生成器使用来将当地音讯复制聚合,如许可以免任何的当地集群之间的音讯轮回。

Kafka Tier Architecture  图 1:Kafka分层架构设计

运用Kafka根底架构来Mobile数据可以减少带宽耗费和收集延迟,由于它可让我们的音讯复制次数最小化(每一个数据中间一次)。用户可以在外地运用数据,如许就简化他们的设置装备摆设而且让他们不需求再关怀多种跨数据中间的收集问题。生产者和用户完成了Kafka根底架构中的分层观点。生产者是第一层,当地集群(联合一切的数据中间)是第二层,每一个聚合集群都是一个额定的层级。用户自身是最初一层。

这类分层的根底架构处理了很多问题,可是极大地庞杂化了Kafka的监控和确保它的正常运转。由于一个单一的Kafka集群正常运转时,是不会丧失音讯的,当引入了额定的层以后,随同着额定的组件参加,例如镜像生成器,当音讯消逝的时分会生成有数的毛病,别的监督Kafka集群和它们的情况,我们需求一其中间层来确保一切生成的音讯都呈现每层,而且使它成为这些数据的要害用户。

审计完好性

Kafka Audit 是 LinkedIn 的一个外部Tools,这个Tools用来确保一切生产的音讯无丧失的复制到每层。音讯构造包括一个一切音讯共有的包括要害数据的头部,要害数据包含工夫戳、生产办事和原始主机。当单个生产者发送音讯到Kafka的时分,它会记载以后工夫距离发送音讯的数目。然后它周期性的发送这个数目到特定的审计主题(topic)。这就供给了每一个生产者向某个主题测验考试发送音讯量的信息。

我们的 Kafka 根底设备使用之一,被称做 Kafka Console Auditor,花费单个 Kafka 集群中一切主题的一切音讯。它周期性的发送音讯到审计主题,统计上一个工夫距离该集群中每一个主题花费的音讯量。经过比拟这些数目和生产者的数目,我们就能够判别能否一切的生产的音讯曾经进入 Kakfa 系统。假如数目对不上,我们就可以晓得某个生产者有问题,然后就能够追踪毛病的办事和主机。每一个 Kafka 集群有本人的 console auditor,用于验证集群中的音讯。经过相互比拟每层的数目,我们可以包管每层具有类似数目的音讯。这就能够包管既没有丧失也没用反复音讯,假如有问题就可以间接采用举动。

Audit Overview  

图 2: Kafka 音讯审计概略

某些要害的音讯花费者,比方Hadoop grids,也做为独自一层回写审计信息。这使得我们不只可以监控生产者能否在任务,Kafka能否在通报音讯,也能够查验花费者能否收到了一切音讯。假如使用将音讯从Kafka复制到hadoop呈现了问题,那末Kafka审计Tools将会显示一个过错,标明Hadoop运用的那一层的名字。这最初一块功用给我们供给了端到真个包管,也就是每条生产的数据终极会被花费。

将一切内容组合在一同

容易的Kafka集群上面的这些层看起来很庞杂——这给我们提出一个艰难的Task,怎么使LinkedIn的一切使用以类似的方法任务——可是我们有机密王牌。LinkedIn有一个Kafka工程师团队,此中包含一些顶级的开源Kafka开发者。他们为LinkedIn开发社区供给外部支撑,协助外部团队以一致的、可保护的方法运用Kafka。关于任何想要晓得怎么完成生产者、花费者,或许深化了解Kafka的特定设计问题的人,他们是配合的交换相同的团队。

Kafka 开发团队也为 LinkedIn 供给了其他益处,也就是在开源 Kafka 库之上的一系列自定义库,这些库可以将额定的功用衔接在一同。例如,LinkedIn 外部的简直一切 Kafka 音讯生产者都运用了一个称为 TrackerProducer 的库。当使用挪用该库发送音讯的时分,这个库将会拔出音讯头部字段、注册音讯构造,同时跟踪、发送审计音讯。异样的,花费者库将会从注册办事拉撤消息构造信息,反序列化 Avro 音讯。大部分 Kafka 根底设备使用,比方 console auditor,也由该开发团队保护。

LinkedIn Kafka Service  

图 3: LinkedIn 外部的 Kafka 即办事

瞻望

就像 Mammad Zadeh,我们的技巧总监, 比来说的, LinkedIn 关于 Kafka 的许诺如故。工程师团队在 Kafka 开源社区十分活泼。此中的任务包含强平安把持、配额把持,确保 LinkedIn 可以扩大到天天1万亿条音讯,甚至更多。我们基于 Kafka 之上构建的流处置框架,Samza,比来已完成孵化,成为顶级项目。

SRE 团队正与工程师们一同任务,确保我们资深的运营经历可以与开发者的代码经历坚持同步。SRE 团队也在不断主动化运转 Kafka 的流程,为诸如Mobile分片(partition)等Task构建Tools,这将汇集成到 Kafka 的组件中。我们也在不断的评价大范围运转 Kafka 的最好调优战略,将我们的发明尽量的通知社区。

我们在 Apache Kafka 的邮件列表也很活泼,LinkedIn 很幸运的掌管着 Apache Kafka Meetup Bay Area Samza Meetup,瓜代着每个月一次。亲身介入集会,或许远程参与集会,来发明更多关于 LinkedIn 和其他公司运用 Kafka 和 Samza 的信息吧!

本文中的一切译文仅用于进修和交换目标,转载请务必注明文章译者、出处、和本文链接。 2KB翻译任务按照 CC 协议,假如我们的任务有进犯到您的权益,请实时联络我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部