问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何保证kafka 的消息机制 ack-fail 源码跟踪

发布网友 发布时间:2022-03-29 21:28

我来回答

2个回答

懂视网 时间:2022-03-30 01:49

kafka支持的特性如下:

  

  1、消息持久化和缓存。Kafka高度依赖文件系统来存储和缓存消息。一般的人都认为“磁盘是缓慢的”,这使得人们对“持久化结构提供具有竞争性的性能”这样的结论持有怀疑态度。实际上,磁盘比人们预想的快很多也慢很多,这取决于它们如何被使用;一个好的磁盘结构设计可以使之跟网络速度一样快。

  

  2、消息读取。Kafka在读方面使用了sendfile这个高级系统函数,也即zero-copy技术,感兴趣的同学可以去阅读IBM的文章。 这项技术通过减少系统拷贝次数,极大地提高了数据传输的效率。

  

  3、端到端的批量压缩。在许多场景下,瓶颈实际上不是CPU而是网络。这在需要在多个数据中心之间发送消息的数据流水线的情况下更是如此。当然,用户可以不需要Kafka的支持而发送压缩后的消息,但是这会导致非常差的压缩率。高效的压缩需要将多个消息一块儿压缩而不是对每一个消息进行压缩。理想情况下,这可以在端到端的情况下实现,数据会先被压缩,然后被生产者发送,并且在服务端也是保持压缩状态,只有在最终的消费者端才会被解压缩。

热心网友 时间:2022-03-29 22:57

Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.(Kafka布式、区(partitioned)、基于备份(replicated)commit-log存储服务.提供类似于messaging system特性,设计实现完全同)kafka种高吞吐量布式发布订阅消息系统特性:
  (1)、通O(1)磁盘数据结构提供消息持久化种结构于即使数TB消息存储能够保持间稳定性能
  (2)、高吞吐量:即使非普通硬件kafka支持每秒数十万消息
  (3)、支持通kafka服务器消费机集群区消息
  (4)、支持Hadoop并行数据加载
、用Kafka面自带脚本进行编译
  载Kafka源码面自带gradlew脚本我利用编译Kafka源码:
1 # wget
2 # tar -zxf kafka-0.8.1.1-src.tgz
3 # cd kafka-0.8.1.1-src
4 # ./gradlew releaseTarGz
运行面命令进行编译现异信息:
01 :core:signArchives FAILED
02
03 FAILURE: Build failed with an exception.
04
05 * What went wrong:
06 Execution failed for task ':core:signArchives'.
07 > Cannot perform signing task ':core:signArchives' because it
08 has no configured signatory
09
10 * Try:
11 Run with --stacktrace option to get the stack trace. Run with
12 --info or --debug option to get more log output.
13
14 BUILD FAILED
bug()用面命令进行编译
1 ./gradlew releaseTarGzAll -x signArchives
候编译功(编译程现)编译程我指定应Scala版本进行编译:
1 ./gradlew -PscalaVersion=2.10.3 releaseTarGz -x signArchives
编译完core/build/distributions/面kafka_2.10-0.8.1.1.tgz文件网载直接用
二、利用sbt进行编译
  我同用sbt编译Kafka步骤:
01 # git clone
02 # cd kafka
03 # git checkout -b 0.8 remotes/origin/0.8
04 # ./sbt update
05 [info] [SUCCESSFUL ] org.eclipse.jdt#core;3.1.1!core.jar (2243ms)
06 [info] downloading ...
07 [info] [SUCCESSFUL ] ant#ant;1.6.5!ant.jar (1150ms)
08 [info] Done updating.
09 [info] Resolving org.apache.hadoop#hadoop-core;0.20.2 ...
10 [info] Done updating.
11 [info] Resolving com.yammer.metrics#metrics-annotation;2.2.0 ...
12 [info] Done updating.
13 [info] Resolving com.yammer.metrics#metrics-annotation;2.2.0 ...
14 [info] Done updating.
15 [success] Total time: 168 s, completed Jun 18, 2014 6:51:38 PM
16
17 # ./sbt package
18 [info] Set current project to Kafka (in build file:/export1/spark/kafka/)
19 Getting Scala 2.8.0 ...
20 :: retrieving :: org.scala-sbt#boot-scala
21 confs: [default]
22 3 artifacts copied, 0 already retrieved (14544kB/27ms)
23 [success] Total time: 1 s, completed Jun 18, 2014 6:52:37 PM
于Kafka 0.8及版本需要运行命令:
01 # ./sbt assembly-package-dependency
02 [info] Loading project definition from /export1/spark/kafka/project
03 [warn] Multiple resolvers having different access mechanism configured with
04 same name 'sbt-plugin-releases'. To avoid conflict, Remove plicate project
05 resolvers (`resolvers`) or rename publishing resolver (`publishTo`).
06 [info] Set current project to Kafka (in build file:/export1/spark/kafka/)
07 [warn] Credentials file /home/wyp/.m2/.credentials does not exist
08 [info] Including slf4j-api-1.7.2.jar
09 [info] Including metrics-annotation-2.2.0.jar
10 [info] Including scala-compiler.jar
11 [info] Including scala-library.jar
12 [info] Including slf4j-simple-1.6.4.jar
13 [info] Including metrics-core-2.2.0.jar
14 [info] Including snappy-java-1.0.4.1.jar
15 [info] Including zookeeper-3.3.4.jar
16 [info] Including log4j-1.2.15.jar
17 [info] Including zkclient-0.3.jar
18 [info] Including jopt-simple-3.2.jar
19 [warn] Merging 'META-INF/NOTICE' with strategy 'rename'
20 [warn] Merging 'org/xerial/snappy/native/README' with strategy 'rename'
21 [warn] Merging 'META-INF/maven/org.xerial.snappy/snappy-java/LICENSE'
22 with strategy 'rename'
23 [warn] Merging 'LICENSE.txt' with strategy 'rename'
24 [warn] Merging 'META-INF/LICENSE' with strategy 'rename'
25 [warn] Merging 'META-INF/MANIFEST.MF' with strategy 'discard'
26 [warn] Strategy 'discard' was applied to a file
27 [warn] Strategy 'rename' was applied to 5 files
28 [success] Total time: 3 s, completed Jun 18, 2014 6:53:41 PM
我sbt面指定scala版本:
01 <!--
02 User: 往记忆
03 Date: 14-6-18
04 Time: 20:20
05 bolg:
06 本文址:/archives/1044
07 往记忆博客专注于hadoop、hive、spark、shark、flume技术博客量干货
08 往记忆博客微信公共帐号:iteblog_hadoop
09 -->
10 sbt "++2.10.3 update"
11 sbt "++2.10.3 package"
12 sbt "++2.10.3 assembly-package-dependency"
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
黄家驹是谁.拜托了各位 谢谢 最近这几天去 蓝调薰衣草庄园 还能赶上薰衣草盛开么 有没有去过的给点... 日本留学大学假期怎么放的 塑料水管怕水泥吗 孕妇腹壁脂肪厚怎么减 孕期肚子赘肉怎么减下去? 孕妇肚子怎么减肥啊 怀孕怎么减肚子上的肉 考研的难度相当于高考吗? 宏基5536笔记本15.6寸屏幕分辨率最高可以设到多少,我用HDMI线连液晶电视... 如何写医学论文 零基础怎么写医学论文 SCI医学论文如何去写,其实可以从11个要点入 毕业论文怎么写医学生 apache kafka有哪几个部分组成 钢琴陪练哪个比较好,麻烦大家推荐个好用的APP! 大家都用的什么钢琴陪练APP?求一个真实反馈? 钢琴陪练软件有哪些? 小孩钢琴陪练软件哪个好 钢琴智能陪练app有哪些 孩子马上考级了,钢琴陪练APP有哪些,推荐下? 免费的钢琴陪练app有哪些 钢琴陪练什么软件哪个好 免费钢琴陪练app有哪些 钢琴陪练软件太多了你们都用哪个啊? 钢琴陪练哪个app做得比较好 钢琴陪练软件有哪些? 怎么学习钢琴更有效果? 有哪些钢琴陪练APP软件? 线上钢琴陪练app有哪些 有什么好的钢琴陪练软件 医学论文写作都有哪些技巧? 医学检验怎么写论文 医学论文正文应该怎么写 医学论文综述怎么写 范文 如何写医学论文摘要 朋友合照发朋友圈配句有哪些? 跟朋友合照发朋友圈的句子 跟朋友合照朋友圈怎么发 发好朋友合照配的说说 和朋友合照不用介意站哪,聚会拍照你会在意站位吗? 情侣合照与异性朋友间合照有什么区别吗? 晒自己和朋友的合照的说说 和朋友合照发朋友圈应该怎么写 和朋友合照怎么发说说 发闺蜜合照朋友圈的精美句子 苍井空罕见晒与朋友合影,都是熟悉的面孔,你认识吗? 怎样来形容朋友们在一起的合影 在景区拍照时,你更喜欢自己单独出镜还是跟朋友合照? 晒和朋友照片的句子 发朋友圈特别喜欢晒和朋友合照的人,是什么性格??