kafka应用之路

  1、在技术选型上,为什么要使用kafka,不使用rocketmq?

kafka是分布式日志存储系统.

1)kafka更容易大数据系统结合,例如我们用到的storm。

2)kafka比较热门,文档比较全

3)能够做到真正的保证数据不会丢失,不会重复,即使在节点down掉的情况下。

2、介绍kafka

3、kafka安装

4、kafka使用(kafka的实践)

二、需要注意的问题:

1、kafka的consumer数量不能超过partition的数量;另外如果有同一个groupid的consumer去消费消息,这个groupid的消息就会被消费掉从而读不到消息。

2、kafka可以持久化一段时间的数据,通过下面的参数设置。可以设置基于时间的,也可以设置基于文件大小的

3、Kafka读取特定消息的时间复杂度为O(1),即与文件大小无关,所以删除过期文件与提高Kafka性能无关。

4、Kafka会为每一个Consumer Group保留一些metadata信息——当前消费的消息的position,也即offset。这个offset由Consumer控制。正常情况下Consumer会在消费完一条消息后递增该offset。当然,Consumer也可将offset设成一个较小的值,重新消费一些消息。因为offet由Consumer控制,所以Kafka broker是无状态的,它不需要标记哪些消息被哪些消费过,也不需要通过broker去保证同一个Consumer Group只有一个Consumer能消费某一条消息,因此也就不需要锁机制,这也为Kafka的高吞吐率提供了有力保障。

5、kafka使用默认的副本因子是1,也就是没有副本,因为:

在kafka的开发者看来副本似乎是一个附加的东西,没有大量的使用,这有很大的缺点:slave不活跃,吞吐量受到严重影响,它需要的精确的手动配置等

三、遇到的问题

1、无法发送或者消费消息

WARN [Producer clientId=console-producer] Connection to node -1 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 姓名:周小蓬 16019110037 转载自:http://blog.csdn.net/YChenFeng/art...
    aeytifiw阅读 34,817评论 13 425
  • Kafka入门经典教程-Kafka-about云开发 http://www.aboutyun.com/threa...
    葡萄喃喃呓语阅读 13,696评论 4 54
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,800评论 19 139
  • 4. 设计思想 4.1 动机 我们设计的 Kafka 能够作为一个统一的平台来处理大公司可能拥有的所有实时数据馈送...
    疯狂的橙阅读 4,722评论 1 4
  • 以上图片如果没有适当的留白,会觉得图片过于饱满,没有什么新意。适当的留白,让照片更突出,有艺术感。 添加留白最常用...
    小伍菇凉H阅读 3,474评论 3 0

友情链接更多精彩内容