Kafka
文章平均质量分 66
张小艺
更多的努力才能有更多的选择。
展开
-
Kafka配置-安装使用(单节点单Broker)
部署kafka之前,需先安装zookeeper此案例为:单节点单Brokerzookeeper-3.4.5-cdh5.15.1.tar.gz解压之后,配置环境变量,修改认证文件[root@centos7 conf]# cp zoo_sample.cfg zoo.cfg[root@centos7 conf]# vi zoo.cfg dataDir=/opt/modules/zk_tmp解压kafka_2.11-2.2.0.tgz修改环境变量修改配置文件vim /opt/modules/k原创 2021-04-30 22:23:46 · 269 阅读 · 1 评论 -
Kafka-消费者组
Consumer Group 是 Kafka 提供的可扩展且具有容错性的消费者机制。Consumer Group特性:Consumer Group 下可以有一个或多个 Consumer 实例。这里的实例可以是一个单独的进程,也可以是同一进程下的线程。在实际场景中,使用进程更为常见一些。Group ID 是一个字符串,在一个 Kafka 集群中,它标识唯一的一个 Consumer Group。Consumer Group 下所有实例订阅的主题的单个分区,只能分配给组内的某个 Consumer 实例消费原创 2021-04-30 21:10:02 · 1253 阅读 · 1 评论 -
Kafka-精确处理一次语义
常见的消费处理语义有3种:最多一次(at most once):消息可能会丢失,但绝不会被重复发送。至少一次(at least once):消息不会丢失,但有可能被重复发送。精确一次(exactly once):消息不会丢失,也不会被重复发送。Kafka 默认提供的交付可靠性保障是第二种,即至少一次。Kafka 也可以提供最多一次交付保障,只需要让 Producer 禁止重试即可。这样一来,消息要么写入成功,要么写入失败,但绝不会重复发送。Kafka 是怎么做到精确一次的呢?简单来说,这是通原创 2021-04-29 13:49:49 · 410 阅读 · 1 评论 -
Kafka-拦截器
Kafka 拦截器可以在消息处理的前后多个时点动态植入不同的处理逻辑,比如在消息发送前或者在消息被消费后。Kafka 拦截器分为生产者拦截器和消费者拦截器生产者拦截器允许你在发送消息前以及消息提交成功后植入你的拦截器逻辑;消费者拦截器支持在消费消息前以及提交位移后编写特定逻辑。值得一提的是,这两种拦截器都支持链的方式,即你可以将一组拦截器串连成一个大的拦截器,Kafka 会按照添加顺序依次执行拦截器逻辑。Kafka 拦截器的设置方法是通过参数配置完成的。生产者和消费者两端有一个相同的参数,名原创 2021-04-29 11:57:07 · 241 阅读 · 0 评论 -
Kafka 理论三---无消息丢失配置
@Kafka一句话概括,Kafka 只对“已提交”的消息(committed message)做有限度的持久化保证。已提交:当 Kafka 的若干个 Broker 成功地接收到一条消息并写入到日志文件后,它们会告诉生产者程序这条消息已成功提交有限度的持久化保证:Kafka 不可能保证在任何情况下都做到不丢失消息。假如你的消息保存在 N 个 Kafka Broker 上,那么这个前提条件就是这 N 个 Broker 中至少有 1 个存活。只要这个条件成立,Kafka 就能保证你的这条消息永远不会丢原创 2021-04-29 11:40:34 · 59 阅读 · 0 评论 -
Kafka理论二 ---生产者
KafkaKafka的消息组织方式实际上是三级结构:主题-分区-消息主题下的每条消息只会保存在某一个分区中,而不会在多个分区中被保存多份。之所以使用分区的概念而不是直接使用多个主题分区的作用就是提供负载均衡的能力,或者说对数据进行分区的主要原因,就是为了实现系统的高伸缩性(Scalability)。不同的分区能够被放置到不同节点的机器上,而数据的读写操作也都是针对分区这个粒度而进行的,这样每个节点的机器都能独立地执行各自分区的读写请求处理。并且,还可以通过添加新的节点机器来增加整体系统的吞吐量。原创 2021-04-29 11:35:37 · 65 阅读 · 0 评论 -
Kafka理论(一)
@KafkaKafka是一个分布式的基于发布、订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域Kafka 在设计之初就旨在提供三个方面的特性:提供一套 API 实现生产者和消费者;降低网络传输和磁盘存储开销;实现高伸缩性架构。传统消息队列:同步处理异步处理:解耦,缓解压力,发的快,收的慢,可削峰使用消息队列的好处:解耦:允许由独立的扩展或修改两边的处理过程,只要确保他们遵守同样的接口约束可恢复性:系统的一部分组件失效时,不会影响到整个系统。消息队列原创 2021-04-29 11:25:23 · 378 阅读 · 3 评论