kafka producer 超时发送消息的时候报超时,有人遇到过吗

LinkedIn在2011年7月开始大规模使用Kafka,当时Kafka每天大约处理10亿条消息,这一数据在2012年达到了每天200亿条,而到了2013年7月,每天处理的消息达到了2000亿条。在几个月前,他们的最新记录是每天利用Kafka处理的消息超过1万亿条,在峰值时每秒钟会发布超过450万条消息,每周处理的信息是1.34 PB。每条消息平均会被4个应用处理。在过去的四年中,实现了1200倍的增长。随着规模的不断扩大,LinkedIn更加关注于Kafka的可靠性、成本、安全性、可用性以及其他的基础指标。在这个过程中,LinkedIn的技术团队在多个特性和领域都进行了有意义的探索。Linkedln在Kafka上的主要关注领域配额(Quotas)在LinkedIn,不同的应用使用同一个Kafka集群,所以如果某个应用滥用Kafka的话,将会对共享集群的其他应用带来性能和SLA上的负面影响。有些合理的使用场景有可能也会带来很坏的影响,比如如果要重新处理整个数据库的所有数据的话,那数据库中的所有记录会迅速推送到Kafka上,即便Kafka性能很高,也会很容易地造成网络饱和和磁盘冲击。Kartik Paramasivam绘图展现了不同的应用是如何共享Kafka Broker的:为了解决这个问题,LinkedIn的团队研发了一项特性,如果每秒钟的字节数超过了一个阈值,就会降低这些Producer和Customer的速度。对于大多数的应用来讲,这个默认的阈值都是可行的。但是有些用户会要求更高的带宽,于是他们引入了白名单机制,白名单中的用户能够使用更高数量的带宽。这种配置的变化不会对Kafka Broker的稳定性产生影响。这项特性运行良好,在下一版本的Kafka发布版中,所有的人就都能使用该特性了。开发新的Customer目前的Kafka Customer客户端依赖于ZooKeeper,这种依赖会产生一些大家所熟知的问题,包括ZooKeeper的使用缺乏安全性以及Customer实例之间可能会出现的脑裂现象(split brain)。因此,LinkedIn与Confluent以及其他的开源社区合作开发了一个新的Customer。这个新的Customer只依赖于Kafka Broker,不再依赖于ZooKeeper。这是一项很复杂的特性,因此需要很长的时间才能完全应用于生产环境中。在Kafka中,目前有两个不同类型的Customer。如果Customer希望完全控制使用哪个分区上的Topic的话,就要使用低级别的Customer。在高级别的Customer中,Kafka客户端会自动计算如何在Customer实例之间分配Topic分区。这里的问题在于,如果使用低级别Customer的话,会有许多的基本任务要去完成,比如错误处理、重试等等,并且无法使用高级别Customer中的一些特性。在LinkedIn这个新的Customer中,对低级别和高级别的Customer进行了调和。可靠性和可用性的提升按照LinkedIn这样的规模,如果Kafka的新版本中有什么重要缺陷的话,就会对可靠性产生很大的影响。因此,LinkedIn技术团队一项很重要的任务就是发现和修正缺陷。他们在可靠性方面所做的增强包括:Mirror Maker无损的数据传输:Mirror Maker是Kafka的一个组件,用来实现Kafka集群和Kafka Topic之间的数据转移。LinkedIn广泛使用了这项技术,但是它在设计的时候存在一个缺陷,在传输时可能会丢失数据,尤其是在集群升级或机器重启的时候。为了保证所有的消息都能正常传输,他们修改了设计,能够确保只有消息成功到达目标Topic时,才会认为已经完全消费掉了。副本的延迟监控:所有发布到Kafka上的消息都会复制副本,以提高持久性。当副本无法“跟上”主版本(master)的话,就认为这个副本处于非健康的状态。在这里,“跟上”的标准指的是配置好的字节数延迟。这里的问题在于,如果发送内容很大的消息或消息数量不断增长的话,那么延迟可能会增加,那么系统就会认为副本是非健康的。为了解决这个问题,LinkedIn将副本延迟的规则修改为基于时间进行判断。实现新的Producer:LinkedIn为Kafka实现了新的Producer,这个新的Producer允许将消息实现为管道(pipeline),以提升性能。目前该功能尚有部分缺陷,正在处于修复之中。删除Topic:作为如此成熟的产品,Kafka在删除Topic的时候,会出现难以预料的后果或集群不稳定性,这一点颇令人惊讶。在几个月前,LinkedIn对其进行了广泛地测试并修改了很多缺陷。到Kafka的下一个主版本时,就能安全地删除Topic了。安全性在Kafka中,这是参与者最多的特性之一,众多的公司互相协作来解决这一问题。其成果就是加密、认证和权限等功能将会添加到Kafka中,在LinkedIn,预期在2015年能使用加密功能,在2016年能使用其他的安全特性。Kafka监控框架LinkedIn最近正在致力于以一种标准的方式监控Kafka集群,他们的想法是运行一组测试应用,这些应用会发布和消费Kafka Topic数据,从而验证基本的功能(顺序、保证送达和数据完整性等)以及端到端发布和消费消息的延时。除此之外,这个框架还可以验证Kafka新版本是否可以用于生产环境,能够确保新版本的Kafka Broker不会破坏已有的客户端。故障测试当拿到新的Kafka开源版本后,LinkedIn会运行一些故障测试,从而验证发生失败时Kafka新版本的质量。针对这项任务,LinkedIn研发了名为Simoorg的故障引导框架,它会产生一些低级别的机器故障,如磁盘写失败、关机、杀进程等等。应用延迟监控LinkedIn开发了名为Burrow的工具,能够监控Customer消费消息的延迟,从而监控应用的健康状况。保持Kafka集群平衡LinkedIn在如下几个维度保证了集群的平衡:感知机柜:在进行平衡时,很重要的一点是Kafka分区的主版本与副本不要放到同一个数据中心机柜上。如果不这样做的话,一旦出现机柜故障,将会导致所有的分区不可用。确保Topic的分区公平地分发到Broker上:在为Kafka发布和消费消息确定了配额后,这项功能变得尤为重要。相对于将Topic的分区发布到同一个Broker节点上,如果Topic的分区能够均衡地分发到多个Broker上,那么相当的它有了更多的带宽。确保集群节点的磁盘和网络容量不会被耗尽:如果几个Topic的大量分区集中到了集群上的少数几个节点上,那么很容易出现磁盘或网络容量耗尽的情况。在LinkedIn,目前维护站点可靠性的工程师(Site Reliability Enginee,SRE)通过定期转移分区确保集群的平衡。在分区放置和重平衡方面,他们已经做了一些原始设计和原型实现,希望能够让系统更加智能。在其他的数据系统中,将Kafka作为核心的组成部分在LinkedIn,使用Espresso作为NoSQL数据库,目前他们正在将Kafka作为Espresso的备份机制。这将Kafka放到了站点延迟敏感数据路径的关键部分,同时还需要保证更高的消息传送可靠性。目前,他们做了很多的性能优化,保证消息传输的低延迟,并且不会影响消息传递的可靠性。Kafka还会用于异步上传数据到Venice之中。除此之外,Kafka是Apache Samza实时流处理的一个重要事件源,同时Samza还使用Kafka作为持久化存储,保存应用的状态。在这个过程中,LinkedIn修改了一些重要的缺陷,并增强了Kafka的日志压缩特性。LinkedIn的Kafka生态系统除了Apache Kafka Broker、客户端以及Mirror Maker组件之外,LinkedIn还有一些内部服务,实现通用的消息功能:支持非Java客户端:在LinkedIn,会有一些非Java应用会用到Kafka的REST接口,去年他们重新设计了Kafka的REST服务,因为原始的设计中并不能保证消息的送达。消息的模式:在LinkedIn,有一个成熟的“模式(schema)注册服务”,当应用发送消息到Kafka中的时候,LinkedIn Kafka客户端会根据消息注册一个模式(如果还没有注册过的话)。这个模式将会自动在Customer端用于消息的反序列化。成本计算:为了统计各个应用对Kafka的使用成本,LinkedIn使用了一个Kafka审计Topic。LinkedIn客户端会自动将使用情况发送到这个Topic上,供Kafka审计服务读取并记录使用情况,便于后续的分析。审计系统:LinkedIn的离线报告job会反映每小时和每天的事件情况,而事件从源Kafka Topic/集群/数据中心,到最后的HDFS存储是需要时间的。因此,Hadoop job需要有一种机制,保证某个时间窗口能够获得所有的事件。LinkedIn Kafka客户端会生成它们所发布和消费的消息数量。审计服务会记录这个信息,Hadoop以及其他的服务可以通过REST接口获取这一信息。支持内容较大的消息:在LinkedIn,将消息的大小限定为1MB,但是有些场景下,无法满足这一限制。如果消息的发布方和使用方是同一个应用的话,一般会将消息拆分为片段来处理。对于其他的应用,建议消息不要超过1MB。如果实在无法满足该规则的话,消息的发送和消费方就需要使用一些通用的API来分割和组装消息片段,而在LinkedIn的客户端SDK中,他们实现了一种特性,能够自动将一条大的信息进行分割和重组。目前,越来越多的国内外公司在使用Kafka,如Yahoo!、Twitter、Netflix和Uber等,所涉及的功能从数据分析到流处理不一而足,希望LinkedIn的经验也能够给其他公司一些借鉴。来源:InfoQ回复 关键字 获得推荐头条文章回复 宇宙 宇宙的终极密码: 从释迦摩尼到爱因斯坦回复 班花 土豪张三怎样用大数据思维追到“某江商学院”美女班花?回复 傅里叶 不懂数学也能明白傅里叶分析和感受数学之美回复 高官 中国高官晋升模型分析:如何在55岁前晋升省部级首长回复 常委 分析预测下一届政治局常委可能都有谁?回复 女人 女人最懂大数据!回复 美人 大数据分析:如何成为美人?回复 色情 大数据!你能在色情行业里做什么!大数据邦(bigdatabang) 
 文章为作者独立观点,不代表微头条立场
的最新文章
1994年,女朋友哭着离开他。那时,他一无所有,月薪82元,没有房子,看不见未来。  然而,21年之后,他却最初,圣克拉拉河谷以不同的名字闻名于世,也被称为 " 心灵欢乐之谷 "。这里的果园和鲜花非常有名,李子是其最回复 关键字 获得推荐头条文章回复 宇宙 宇宙的终极密码: 从释迦摩尼到爱因斯坦回复 班花 土豪张三怎样用大VC圈里流传着这样一个段子:  当世四大高手,西毒阎炎、东邪沈南鹏、南帝靳海涛……至于北丐,大概还在厮杀夺位布尼茨,这个碾压过我们所有人智商的德国人,哲学家、数学家。他的微积分让我们整个学生时代膜拜、被摧残、并深感恐第八届国际工业与应用数学大会--数据科学基础及应用卫星会议(ICIAM--DSFA2015)将在上海召开Th北宋传奇状元宰相吕蒙正有一则流传了1000多年的《寒窑赋》。 如今读来,朗朗上口,其状物之精、明理之深,堪称微软拥有很多成功的产品,包括Windows、Office、Azure以及Xbox等。可是,微软也有许多前途光曾经,“逃离北上广”成为年轻人中一个口号式的选择,但是,这个口号根本就没喊上多久,就没人响应了,因为,“逃离北上广”的人又都回来了。只有“北上广”加上深圳,才聚集着中国最多的资源、最好的机会,逃是逃不掉的咱不耍流氓,先来放个视频看看~路人笑的也太魔性了~用户领略了VR体验后的夸张表情,就是常说的“VR Face10年后,三维全息虚拟技术将进入生活,人们可以面对面交流。  15年后,世界首架“空气动力”无翼电磁空中飞行创业初期,从建立一个产品到获取用户,是每一家创业公司都需要面临的重要环节,也是决定企业是否能够生存的核心。我有趣的大数据,按照概率1和2,坚持每周五收盘前买股票,周一收盘“破坏性创新”是克里斯坦森教授那本著名的《创新者的窘境》书中提到的概日,由大数据邦主办,华为企业云联合主办,TalkingData、平安金科、银联智惠斯坦福研究院协办的“金融大数据与产业生态合作论坛”在上海浦东紫金山大酒店成功举行,多位资深嘉宾进行了高价值干货的主题分享。日,由大数据邦主办,华为企业云联合主办,TalkingData、平安金科、银联智惠斯坦福研究院协办的“金融大数据与产业生态合作论坛”在上海浦东紫金山大酒店成功举行,多位资深嘉宾进行了高价值干货的主题分享。创业初期,从建立一个产品到获取用户,是每一家创业公司都需要面临的重要环节,也是决定企业是否能够生存的核心。我有趣的大数据,按照概率1和2,坚持每周五收盘前买股票,周一收盘“破坏性创新”是克里斯坦森教授那本著名的《创新者的窘境》书中提到的概咱不耍流氓,先来放个视频看看~路人笑的也太魔性了~用户领略了VR体验后的夸张表情,就是常说的“VR Face10年后,三维全息虚拟技术将进入生活,人们可以面对面交流。  15年后,世界首架“空气动力”无翼电磁空中飞行曾经,“逃离北上广”成为年轻人中一个口号式的选择,但是,这个口号根本就没喊上多久,就没人响应了,因为,“逃离北上广”的人又都回来了。只有“北上广”加上深圳,才聚集着中国最多的资源、最好的机会,逃是逃不掉的微软拥有很多成功的产品,包括Windows、Office、Azure以及Xbox等。可是,微软也有许多前途光北宋传奇状元宰相吕蒙正有一则流传了1000多年的《寒窑赋》。 如今读来,朗朗上口,其状物之精、明理之深,堪称布尼茨,这个碾压过我们所有人智商的德国人,哲学家、数学家。他的微积分让我们整个学生时代膜拜、被摧残、并深感恐第八届国际工业与应用数学大会--数据科学基础及应用卫星会议(ICIAM--DSFA2015)将在上海召开Th回复 关键字 获得推荐头条文章回复 宇宙 宇宙的终极密码: 从释迦摩尼到爱因斯坦回复 班花 土豪张三怎样用大VC圈里流传着这样一个段子:  当世四大高手,西毒阎炎、东邪沈南鹏、南帝靳海涛……至于北丐,大概还在厮杀夺位最初,圣克拉拉河谷以不同的名字闻名于世,也被称为 " 心灵欢乐之谷 "。这里的果园和鲜花非常有名,李子是其最1994年,女朋友哭着离开他。那时,他一无所有,月薪82元,没有房子,看不见未来。  然而,21年之后,他却这是一个非常有意思的话题,作为电商狗,从来没有从这个角度思考过。一般情况下,不同的行业广告价值不一样,所以我近年来全球B2C电商市场增长迅速,未来几年仍将保持近15%的年均增速,全球跨境B2C电商的增长尤为强劲:年均增长高达27%的将使全球市场规模由2014年的2,300亿美元升至2020年的接近1万亿美元。作者:周孝正今天我准备就当前以色列和巴勒斯坦冲突谈谈个人看法,我的第一个观点是,在信息不对称的情况下,不要轻互联网进入电商季,来点干货,先来看看2014年大家表现,以及过去一个月DAU与支付订单数据,接下来两周,将会在这篇反对文章上签名的美国科学家共有514名,其中154名是生物学家,76名是化学家,63名是物理学家,其余信息流、物流和资金流三大平台是电子商务的三个最为重要的平台。而电子商务信息系统最核心的能力是大数据能力,包括网上购物的姑娘都是“女诸葛”,斗智斗勇,36计样样拿手。你不把电商玩疯,电商就把你玩儿疯。话说现在已进入“大央行连续双降,本来是利好买房者降低购房成本的,但二手房的实际情况往往事与愿违,涨价程度可远比降息力度大多了,每一天都有数百万用户登录 。 LinkedIn 的用户背景多元,需求多样,有企业、有一、公司分析1、大的有师傅的公司这类公司主要是百度,阿里和腾讯。共同的特点是数据很大,机器学习的团队比较庞大熟人借贷概念引爆,其前世今生及未来出路为人们所挖掘和思索。人们感慨其模式新颖、大胆创新之妙,也担忧这一低频、上海从11月1日起实施一系列人才新政策,明确符合一定条件的创业人才、创新创业中介服务人才、风险投资管理运营人几十年来,人工智能已经在不断改变着我们的生活,但是,我们也从未像今天这样感到人工智能无处不在。貌似每周都会冒在这一版的美国创新战略中,奥巴马重点强调了以下九大战略领域:先进制造、精密医疗、大脑计划、先进汽车、智慧城市高盛再出牛气冲天的史诗报告,对大宗商品价格的预期做出了全线下调,并且对每一种商品的市场态势都给出了详细分析和陈启宗在2015复旦全球领袖论坛发表演讲整理美国很有可能成为下一个国际制造中心我们应该怎么样看待美国呢?我每互联网金融乃时下最大创业风口之一,各类互联网金融公司应运而生,近3000家P2P公司,若干一年三轮融资的大学这是一家神秘的公司它们的野心是颠覆人类的未来未来 FutureA、B 轮获得 10 多亿美元融资估值120 中共中央十八届五中全会顺利闭幕。会议通过了“十三五”计划并出台了一系列重大政策,包括“允许普遍二孩”及“普及高中教育”等。国家实行互联网+计划,实施国家大数据战略。来源:百分点刘译璟博士分享感谢:流氓绅士`飞星的文章推荐回复 关键字 获得推荐头条文章回复 宇宙 宇宙的终极bigdatabang深度分析大数据产业的资本、科技、商业价值热门文章最新文章bigdatabang深度分析大数据产业的资本、科技、商业价值kafka | 写点什么Kafka Manager首页、文档和下载 - Kafka 管理工具 - 开源中国社区
当前访客身份:游客 [
当前位置:
Kafka Manager
Kafka Manager 是 Yahoo 推出的
管理工具,支持:管理多个集群轻松检查集群状态 (topics, brokers, replica distribution, partition distribution)执行复制选举生成分区指派,基于集群的状态分区的重新指派该项目基于
框架开发。Cluster ManagementTopic ViewBroker View运行环境:Kafka 0.8.1.1 or 0.8.2-betasbt 0.13.xJava 7+
Kafka Manager最新更新资讯,共1条&&()
授权协议:
开发语言:
操作系统:&跨平台&
收录时间: 日
orchome 发表于4个月前
,最后回答(4个月前):
小乞丐 发表于1年前
,最后回答(10个月前):
使用 Kafka Manager 中的任何问题
这软件开发语言是Scala吧
:不好打包,sbt
共有 147 个类似软件
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支...
kafka是一种高吞吐量的分布式发布订阅消息系统,她有如下特性: 通过O(1)的磁盘数据...
Metamorphosis (MetaQ) 是一个高性能、高可用、可扩展的分布式消息中间件,类似于L...
DotNetMQ 是一个开源的消息中间件,主要特性: 持久化和非持久化消息传输 Guarante...
Beanstalk 是一个简单、快速的消息队列。Beanstalkd之于RabbitMQ,就好比Nginx之于...
SquirrelMQ是一个快速的消息队列。
SquirrelMQ特性: 1. SquirrelMQ使用Slab内存...
UCMQ是一款轻量的HTTP协议级消息队列服务组件,项目的最初原型来自“张宴”的HTTPS...
Jafka 是一个高性能的跨语言分布式消息系统。Jafka已经开源,使用github托管。 Ja...
NSQ 是无中心设计、节点自动注册和发现的开源消息系统。可作为内部通讯框架的基础,...
Apache ActiveMQ Artemis 提供了一个非堵塞架构,实现了超高性能的 Java 对象消息服...
共有 206 人关注 Kafka Manager&&国之画&&&&&&
版权所有 京ICP备号-2
迷上了代码!966,690 八月 独立访问用户
语言 & 开发
架构 & 设计
文化 & 方法
您目前处于:
LinkedIn是如何优化Kafka的
LinkedIn是如何优化Kafka的
相关厂商内容
相关赞助商
QCon全球软件开发大会上海站,日-22日,上海宝华万豪酒店,!
LinkedIn在Kafka上的主要关注领域包括:
配额(Quotas)
在LinkedIn,不同的应用使用同一个Kafka集群,所以如果某个应用滥用Kafka的话,将会对共享集群的其他应用带来性能和SLA上的负面影响。有些合理的使用场景有可能也会带来很坏的影响,比如如果要重新处理整个数据库的所有数据的话,那数据库中的所有记录会迅速推送到Kafka上,即便Kafka性能很高,也会很容易地造成网络饱和和磁盘冲击。
Kartik Paramasivam绘图展现了不同的应用是如何共享Kafka Broker的:
为了解决这个问题,LinkedIn的团队研发了一项特性,如果每秒钟的字节数超过了一个阈值,就会降低这些Producer和Consumer的速度。对于大多数的应用来讲,这个默认的阈值都是可行的。但是有些用户会要求更高的带宽,于是他们引入了白名单机制,白名单中的用户能够使用更高数量的带宽。这种配置的变化不会对Kafka Broker的稳定性产生影响。这项特性运行良好,在下一版本的Kafka发布版中,所有的人就都能使用该特性了。
开发新的Consumer
目前的Kafka Consumer客户端依赖于,这种依赖会产生一些大家所熟知的问题,包括ZooKeeper的使用缺乏安全性以及Consumer实例之间可能会出现的。因此,LinkedIn与以及其他的开源社区合作开发了一个新的Consumer。这个新的Consumer只依赖于Kafka Broker,不再依赖于ZooKeeper。这是一项很复杂的特性,因此需要很长的时间才能完全应用于生产环境中。
在Kafka中,目前有两个不同类型的Consumer。如果Consumer希望完全控制使用哪个分区上的Topic的话,就要使用低级别的Consumer。在高级别的Consumer中,Kafka客户端会自动计算如何在Consumer实例之间分配Topic分区。这里的问题在于,如果使用低级别Consumer的话,会有许多的基本任务要去完成,比如错误处理、重试等等,并且无法使用高级别Consumer中的一些特性。在LinkedIn这个新的Consumer中,对低级别和高级别的Consumer进行了调和。
可靠性和可用性的提升
按照LinkedIn这样的规模,如果Kafka的新版本中有什么重要缺陷的话,就会对可靠性产生很大的影响。因此,LinkedIn技术团队一项很重要的任务就是发现和修正缺陷。他们在可靠性方面所做的增强包括:
Mirror Maker无损的数据传输:Mirror Maker是Kafka的一个组件,用来实现Kafka集群和Kafka Topic之间的数据转移。LinkedIn广泛使用了这项技术,但是它在设计的时候存在一个缺陷,在传输时可能会丢失数据,尤其是在集群升级或机器重启的时候。为了保证所有的消息都能正常传输,他们修改了设计,能够确保只有消息成功到达目标Topic时,才会认为已经完全消费掉了。
副本的延迟监控:所有发布到Kafka上的消息都会复制副本,以提高持久性。当副本无法&跟上&主版本(master)的话,就认为这个副本处于非健康的状态。在这里,&跟上&的标准指的是配置好的字节数延迟。这里的问题在于,如果发送内容很大的消息或消息数量不断增长的话,那么延迟可能会增加,那么系统就会认为副本是非健康的。为了解决这个问题,LinkedIn将副本延迟的规则修改为基于时间进行判断。
实现新的Producer:LinkedIn为Kafka实现了新的Producer,这个新的Producer允许将消息实现为管道(pipeline),以提升性能。目前该功能尚有部分缺陷,正在处于修复之中。
删除Topic:作为如此成熟的产品,Kafka在删除Topic的时候,会出现难以预料的后果或集群不稳定性,这一点颇令人惊讶。在几个月前,LinkedIn对其进行了广泛地测试并修改了很多缺陷。到Kafka的下一个主版本时,就能安全地删除Topic了。
在Kafka中,这是参与者最多的特性之一,众多的公司互相协作来解决这一问题。其成果就是加密、认证和权限等功能将会添加到Kafka中,在LinkedIn,预期在2015年能使用加密功能,在2016年能使用其他的安全特性。
Kafka监控框架
LinkedIn最近正在致力于以一种标准的方式监控Kafka集群,他们的想法是运行一组测试应用,这些应用会发布和消费Kafka Topic数据,从而验证基本的功能(顺序、保证送达和数据完整性等)以及端到端发布和消费消息的延时。除此之外,这个框架还可以验证Kafka新版本是否可以用于生产环境,能够确保新版本的Kafka Broker不会破坏已有的客户端。
当拿到新的Kafka开源版本后,LinkedIn会运行一些故障测试,从而验证发生失败时Kafka新版本的质量。针对这项任务,LinkedIn研发了名为的故障引导框架,它会产生一些低级别的机器故障,如磁盘写失败、关机、杀进程等等。
应用延迟监控
Consumer开发了名为的工具,能够监控Consumer消费消息的延迟,从而监控应用的健康状况。
保持Kafka集群平衡
LinkedIn在如下几个维度保证了集群的平衡:
感知机柜:在进行平衡时,很重要的一点是Kafka分区的主版本与副本不要放到同一个数据中心机柜上。如果不这样做的话,一旦出现机柜故障,将会导致所有的分区不可用。
确保Topic的分区公平地分发到Broker上:在为Kafka发布和消费消息确定了配额后,这项功能变得尤为重要。相对于将Topic的分区发布到同一个Broker节点上,如果Topic的分区能够均衡地分发到多个Broker上,那么相当的它有了更多的带宽。
确保集群节点的磁盘和网络容量不会被耗尽:如果几个Topic的大量分区集中到了集群上的少数几个节点上,那么很容易出现磁盘或网络容量耗尽的情况。
在LinkedIn,目前维护站点可靠性的工程师(Site Reliability Enginee,SRE)通过定期转移分区确保集群的平衡。在分区放置和重平衡方面,他们已经做了一些原始设计和原型实现,希望能够让系统更加智能。
在其他的数据系统中,将Kafka作为核心的组成部分
在LinkedIn,使用作为NoSQL数据库,目前他们正在将Kafka作为Espresso的备份机制。这将Kafka放到了站点延迟敏感数据路径的关键部分,同时还需要保证更高的消息传送可靠性。目前,他们做了很多的性能优化,保证消息传输的低延迟,并且不会影响消息传递的可靠性。
Kafka还会用于异步上传数据到之中。除此之外,Kafka是实时的一个重要事件源,同时Samza还使用Kafka作为持久化存储,保存应用的状态。在这个过程中,LinkedIn修改了一些重要的缺陷,并增强了Kafka的日志压缩特性。
LinkedIn的Kafka生态系统
除了Apache Kafka Broker、客户端以及Mirror Maker组件之外,LinkedIn还有一些内部服务,实现通用的消息功能:
支持非Java客户端:在LinkedIn,会有一些非Java应用会用到Kafka的REST接口,去年他们重新设计了Kafka的REST服务,因为原始的设计中并不能保证消息的送达。
消息的模式:在LinkedIn,有一个成熟的&模式(schema)注册服务&,当应用发送消息到Kafka中的时候,LinkedIn Kafka客户端会根据消息注册一个模式(如果还没有注册过的话)。这个模式将会自动在Consumer端用于消息的反序列化。
成本计算:为了统计各个应用对Kafka的使用成本,LinkedIn使用了一个Kafka审计Topic。LinkedIn客户端会自动将使用情况发送到这个Topic上,供Kafka审计服务读取并记录使用情况,便于后续的分析。
审计系统:LinkedIn的离线报告job会反映每小时和每天的事件情况,而事件从源Kafka Topic/集群/数据中心,到最后的HDFS存储是需要时间的。因此,Hadoop job需要有一种机制,保证某个时间窗口能够获得所有的事件。LinkedIn Kafka客户端会生成它们所发布和消费的消息数量。审计服务会记录这个信息,Hadoop以及其他的服务可以通过REST接口获取这一信息。
支持内容较大的消息:在LinkedIn,将消息的大小限定为1MB,但是有些场景下,无法满足这一限制。如果消息的发布方和使用方是同一个应用的话,一般会将消息拆分为片段来处理。对于其他的应用,建议消息不要超过1MB。如果实在无法满足该规则的话,消息的发送和消费方就需要使用一些通用的API来分割和组装消息片段,而在LinkedIn的客户端SDK中,他们实现了一种特性,能够自动将一条大的信息进行分割和重组。
目前,,如Yahoo!、Twitter、Netflix和Uber等,所涉及的功能从数据分析到流处理不一而足,希望LinkedIn的经验也能够给其他公司一些借鉴。
感谢对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博(,),微信(微信号:)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群)。
Author Contacted
告诉我们您的想法
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
Re: 这数据也忒夸张了。。
Hu Dongqing
kafka的consumer写成customer了。。。
Re: 这数据也忒夸张了。。
Re: 这数据也忒夸张了。。
Re: 这数据也忒夸张了。。
允许的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通知我
赞助商链接
InfoQ每周精要
通过个性化定制的新闻邮件、RSS Feeds和InfoQ业界邮件通知,保持您对感兴趣的社区内容的时刻关注。
架构 & 设计
文化 & 方法
<及所有内容,版权所有 &#169;
C4Media Inc.
服务器由 提供, 我们最信赖的ISP伙伴。
北京创新网媒广告有限公司
京ICP备号-7
注意:如果要修改您的邮箱,我们将会发送确认邮件到您原来的邮箱。
使用现有的公司名称
修改公司名称为:
公司性质:
使用现有的公司性质
修改公司性质为:
使用现有的公司规模
修改公司规模为:
使用现在的国家
使用现在的省份
Subscribe to our newsletter?
Subscribe to our industry email notices?

我要回帖

更多关于 kafka批量发送 的文章

 

随机推荐