IT书架 本次搜索耗时 0.267 秒,为您找到 85 个相关结果.
  • 10. 消息消费

    消息消费 消息消费 Kafka 中的消费是基于拉模式的。消息的消费一般有两种模式:推模式和拉模式。推模式是服务端主动将消息推送给消费者,而拉模式是消费者主动向服务端发起请求来拉取消息。 从代码清单8-1中可以看出,Kafka 中的消息消费是一个不断轮询的过程,消费者所要做的就是重复地调用 poll() 方法,而 poll() 方法返回的是所订阅的主...
  • 26. 如何选择合适的分区数(下)

    分区数的上限 考量因素 总结 分区数的上限 一味地增加分区数并不能使吞吐量一直得到提升,并且分区数也并不能一直增加,如果超过默认的配置值,还会引起 Kafka 进程的崩溃。读者可以试着在一台普通的 Linux 机器上创建包含10000个分区的主题,比如在下面示例中创建一个主题 topic-bomb: csharp 复制代码 [ root...
  • 31.Kafka监控(上)

    Kafka监控 监控数据的来源 OneMinuteRate 获取监控指标 Kafka监控 任何应用功能再强大、性能再优越,如果没有与之匹配的监控,那么一切都是虚无缥缈的。监控不仅可以为应用提供运行时的数据作为依据参考,还可以迅速定位问题,提供预防及告警等功能,很大程度上增强了整体服务的鲁棒性。 目前的 Kafka 监控产品有很多,比如 Kaf...
  • 23.复制限流

    复制限流 复制限流 在上一节中我们了解了分区重分配本质在于数据复制,先增加新的副本,然后进行数据同步,最后删除旧的副本来达到最终的目的。数据复制会占用额外的资源,如果重分配的量太大必然会严重影响整体的性能,尤其是处于业务高峰期的时候。减小重分配的粒度,以小批次的方式来操作是一种可行的解决思路。如果集群中某个主题或某个分区的流量在某段时间内特别大,那么...
  • 17.主题与分区

    主题与分区 主题的管理 创建主题 主题与分区 主题和分区是 Kafka 的两个核心概念,前面章节中讲述的生产者和消费者的设计理念所针对的都是主题和分区层面的操作。主题作为消息的归类,可以再细分为一个或多个分区,分区也可以看作对消息的二次归类。分区的划分不仅为 Kafka 提供了可伸缩性、水平扩展的功能,还通过多副本机制来为 Kafka 提供数据冗...
  • 14.消费者多线程实现

    消费者多线程实现 消费者多线程实现 KafkaProducer 是线程安全的,然而 KafkaConsumer 却是非线程安全的。KafkaConsumer 中定义了一个 acquire() 方法,用来检测当前是否只有一个线程在操作,若有其他线程正在操作则会抛出 ConcurrentModifcationException 异常: csharp ...
  • 30.Kafka Streams

    Kafka Streams Kafka Streams Kafka 一直被认为是一个强大的消息中间件,它实现了高吞吐、高可用和低延时的消息传输能力,这让它成为流式处理系统中完美的数据来源。目前通用的一些流式处理框架如 Apache Spark、Apache Flink、Apache Storm 等都可以将 Kafka 作为可靠的数据来源。但遗憾的是,...
  • 12.指定位移消费

    指定位移消费 指定位移消费 在上一节中我们讲述了如何进行消费位移的提交,正是有了消费位移的持久化,才使消费者在关闭、崩溃或者在遇到再均衡的时候,可以让接替的消费者能够根据存储的消费位移继续进行消费。 试想一下,当一个新的消费组建立的时候,它根本没有可以查找的消费位移。或者消费组内的一个新消费者订阅了一个新的主题,它也没有可以查找的消费位移。当 __...
  • 28.Kafka Connect

    Kafka Connect 独立模式 REST API 分布式模式 Kafka Connect Kafka Connect 是一个工具,它为在 Kafka 和外部数据存储系统之间移动数据提供了一种可靠的且可伸缩的实现方式。Kafka Connect 可以简单快捷地将数据从 Kafka 中导入或导出,数据范围涵盖关系型数据库、日志和度量数据、Ha...
  • 8.消费者客户端开发

    消费者客户端开发 必要的参数配置 订阅主题和分区 消费者客户端开发 在了解了消费者与消费组之间的概念之后,我们就可以着手进行消费者客户端的开发了。在 Kafka 的历史中,消费者客户端同生产者客户端一样也经历了两个大版本:第一个是于 Kafka 开源之初使用 Scala 语言编写的客户端,我们可以称之为旧消费者客户端(Old Consumer)或...