【中间件-Kafka】
文章平均质量分 88
【Kafka - 消息中间件】
我一直在流浪
这个作者很懒,什么都没留下…
展开
-
Kafka实战 - 06 Kafka消费者:从指定Topic拉取工单处置记录信息并存入MongoDB数据库
*** 写处置记录** @param recordDto 处置记录内容/*** 批量写处置记录** @param recordDtos 处置记录列表}try {原创 2022-12-15 07:16:26 · 442 阅读 · 0 评论 -
Kafka实战 - 05 Kafka生产者:将告警和事件发起工单后的处置记录信息发送到指定Topic
前端传入的工单基本信息 RiskOrderQo。原创 2022-12-14 09:57:58 · 250 阅读 · 0 评论 -
Kafka实战 - 04 Kafka消费者:将S平台处置闭环后告警和事件的处置状态同步给X平台
SIR平台上,从XDR平台接入的安全告警数据,为了保证两个平台安全告警数据的处置状态一致,SIR平台需要将已经处置闭环的安全告警数据的处置状态同步给XDR平台,从而更新XDR平台上安全告警数据的处置状态。原创 2022-12-14 09:57:41 · 145 阅读 · 0 评论 -
Kafka实战 - 03 Kafka生产者:将X平台的告警和事件数据接入到S平台
资产可能会遭受各种网络攻击,安全事件和安全告警就是已经被攻击的资产产生的日志,一条攻击链路可能会经过多个资产,由此产生的日志为安全事件,而具体某一个被攻击的资产产生的日志为安全告警。但是XDR产品无法对安全事件和安全告警处置闭环,因此需要将XDR平台的安全告警和安全事件数据接入到SIR平台处置闭环,待处置完成后将数据的处置状态同步给XDR平台,保证两个平台的数据的处置状态一致;kafka的相关配置:项目的配置中心使用的confd,#{{}}是相关配置文件语法,不影响。原创 2022-12-14 07:06:49 · 257 阅读 · 0 评论 -
Kafka实战 - 02 Kafka生产者:将告警和事件的处置状态发送到指定Topic
XDR平台的安全告警和安全事件数据会接入SIR平台进行处置闭环,当工单处置闭环后需要将安全事件和安全告警数据的处置状态同步给XDR平台。① 在操作安全告警或安全事件的处置状态后,需要将该数据的处置状同步给XDR平台。即将数据和修改后的安全告警状态封装成DealStatusSyncDto对象通过kafka生产者发送到 kafka 的 topic 中。② kafka消费者通过定时任务从kafka的topic中取数据,并同步给XDR平台。原创 2022-12-14 07:06:11 · 585 阅读 · 0 评论 -
Kafka实战 - 01 自定义 SpringBoot Starter 实现 Kafka 的自动配置
确保在 pom.xml 文件中声明了使用该组件所需要的全部 dependency利用 @ConfigurationProperties 注解对外暴露恰当的 properties利用条件注解 @ConditionalXXX编写XXXAutoConfiguration 类。原创 2022-12-14 07:05:50 · 1053 阅读 · 2 评论 -
Kafka极客 - 15 重设消费者位移 Offset
反之,如果你的场景需要较高的吞吐量,但每条消息的处理时间很短,同时你又很在意消息的顺序,此时,Kafka 就是你的首选。有时候你可能会碰到这样的场景:你修改了消费者程序代码,并重启了消费者,结果发现代码有问题,你需要回滚之前的代码变更,同时也要把位移重设到消费者重启时的位置,那么,Current 策略就可以帮你实现这个功能。我们来看下它们的方法签名。我们知道,Kafka 和传统的消息引擎在设计上是有很大区别的,其中一个比较显著的区别就是,Kafka 的消费者读取消息是可以重演的(replayable)。原创 2022-12-14 06:41:03 · 4245 阅读 · 1 评论 -
Kafka极客 - 14 Kafka Topic 主题管理
我来给出答案:从 Kafka 2.2 版本开始,社区推荐用 --bootstrap-server 参数替换 --zookeeper 参数,并且显式地将后者标记为“已过期”,因此,如果你已经在使用 2.2 版本了,那么创建主题请指定 --bootstrap-server 参数。有时候,我们想要让某个主题的副本在执行副本同步机制时,不要消耗过多的带宽。这就是说,即使你为 Kafka 集群设置了安全认证,限制了主题的创建,如果你使用 --zookeeper 的命令,依然能成功创建任意主题,不受认证体系的约束。原创 2022-12-13 19:46:50 · 1152 阅读 · 0 评论 -
Kafka极客 - 13 Kafka 中的高水位和 Leader Epoch 机制
Kafka 的水位和位置信息绑定的,具体来说,它是用消息位移来表征的。另外,Kafka 源码使用的表述是高水位,因此,今天我也会统一使用“高水位”或它的缩写 HW 来进行讨论。值得注意的是,Kafka 中也有低水位(Low Watermark),它是与 Kafka 删除消息相关联的概念。原创 2022-12-13 19:12:35 · 653 阅读 · 0 评论 -
Kafka极客 - 12 Kafka中的控制器组件Controller
之后,所有存活的 Broker 开始竞选新的控制器身份。集群中任意一台 Broker 都能充当控制器的角色,但是,在运行过程中,只能有一个 Broker 成为控制器,行使其管理和协调的职责。这个方案的最大好处在于,控制器缓存中保存的状态只被一个线程处理,因此不再需要重量级的线程同步机制来维护线程安全,Kafka 不用再担心多线程并发访问的问题,非常利于社区定位和诊断控制器的各种问题。,统一处理各种控制器事件,然后控制器将原来执行的操作全部建模成一个个独立的事件,发送到专属的事件队列中,供此线程消费。原创 2022-12-13 16:29:08 · 391 阅读 · 0 评论 -
Kafka极客 - 11 消费者组重平衡全流程|触发与通知|消费者端重平衡|Broker端重平衡
一个消费者组最开始是 Empty 状态,当重平衡过程开启后,它会被置于 PreparingRebalance 状态等待成员加入,之后变更到 CompletingRebalance 状态等待分配方案,最后流转到 Stable 状态完成重平衡。那么,这 5 种状态的含义是什么呢?当协调者收到新的 JoinGroup 请求后,它会通过心跳请求响应的方式通知组内现有的所有成员,强制它们开启新一轮的重平衡。另外,消费者组中的消费者实例依次启动也属于第 1 种情况,也就是说,每次消费者组启动时,必然会触发重平衡过程。原创 2022-12-13 15:41:28 · 278 阅读 · 0 评论 -
Kafka极客 - 10 Kafka的副本机制|分区副本|副本角色|ISR
在讨论具体的副本机制之前,我们先花一点时间明确一下副本的含义。我们之前谈到过,Kafka 是有主题概念的,而每个主题又进一步划分成若干个分区。副本的概念实际上是在分区层级下定义的,每个分区配置有若干个副本。所谓副本(Replica),本质就是一个只能追加写消息的提交日志。根据 Kafka 副本机制的定义,同一个分区下的所有副本保存有相同的消息序列,这些副本分散保存在不同的 Broker 上,从而能够对抗部分 Broker 宕机带来的数据不可用。原创 2022-12-13 14:46:19 · 303 阅读 · 0 评论 -
Kafka极客 - 09 Kafka Java Consumer 多线程开发实例
在开始探究之前,我先简单阐述下 Kafka Java Consumer 为什么采用单线程的设计。了解了这一点,对我们后面制定多线程方案大有裨益。谈到 Java Consumer API,最重要的当属它的入口类 KafkaConsumer 了。我们说 KafkaConsumer 是单线程的设计,严格来说这是不准确的。因为,从 Kafka 0.10.1.0 版本开始,KafkaConsumer 就变为了双线程的设计,即用户主线程和心跳线程。所谓用户主线程,就是你启动 Consumer 应用程序 main 方法的原创 2022-12-13 11:39:10 · 724 阅读 · 0 评论 -
Kafka极客 - 08 CommitFailedException异常怎么处理?
说起这个异常,我相信用过 Kafka Java Consumer 客户端 API 的你一定不会感到陌生。。如果异常是可恢复的瞬时错误,提交位移的 API 自己就能规避它们了,因为很多提交位移的 API 方法是支持自动错误重试的,比如我们在上一期中提到的。每次和 CommitFailedException 一起出现的,还有一段非常著名的注释。为什么说它很“著名”呢?第一,我想不出在近 50 万行的 Kafka 源代码中,还有哪个异常类能有这种待遇,可以享有这么大段的注释,来阐述其异常的含义;原创 2022-12-13 11:38:57 · 826 阅读 · 0 评论 -
Kafka极客 - 07 Kafka中位移提交那些事儿|自动提交和手动提交
将两者结合后,我们既实现了异步无阻塞式的位移管理,也确保了 Consumer 位移的正确性,所以,如果你需要自行编写代码开发一套 Kafka Consumer 应用,那么我推荐你使用上面的代码范例来实现手动的位移提交。刚刚我们聊到的所有位移提交,都是提交 poll 方法返回的所有消息的位移,比如 poll 方法一次返回了 500 条消息,当你处理完这 500 条消息之后,前面我们提到的各种方法会一次性地将这 500 条消息的位移一并处理。如果你莽撞地过早提交了位移,就可能会出现消费数据丢失的情况。原创 2022-12-09 12:24:02 · 892 阅读 · 0 评论 -
Kafka极客 - 06 Kafka 消费者组 Consumer Group 到底是什么?
举个简单的例子,假设一个 Consumer Group 订阅了 3 个主题,分别是 A、B、C,它们的分区数依次是 1、2、3,那么通常情况下,为该 Group 设置 6 个 Consumer 实例是比较理想的情形,因为它能最大限度地实现高伸缩性。当前 Kafka 默认提供了 3 种分配策略,每种策略都有一定的优势和劣势,我们今天就不展开讨论了,你只需要记住社区会不断地完善这些策略,保证提供最公平的分配策略,即每个 Consumer 实例都能够得到较为平均的分区数。这就需要分配策略的协助了。原创 2022-12-09 07:30:37 · 1751 阅读 · 0 评论 -
Kafka极客 - 05 Kafka 生产者发送消息可靠性保障|幂等生产者和事务生产者
Kafka - 02 Kafka生产者|发送消息|分区策略|提高吞吐量|数据可靠性|数据去重|数据有序Kafka 消息交付可靠性保障以及精确处理一次语义的实现。所谓的消息交付可靠性保障,是指 Kafka 对 Producer 和 Consumer 要处理的消息提供什么样的承诺。常见的承诺有以下三种:① 最多一次:消息可能会丢失,但绝不会被重复发送。② 至少一次:消息不会丢失,但有可能被重复发送。③ 精确一次:消息不会丢失,也不会被重复发送。目前,Kafka 默认提供的交付可靠性保障是第二种,即至少一次。原创 2022-12-07 07:41:34 · 301 阅读 · 0 评论 -
Kafka极客 - 04 Kafka生产者和消费者拦截器
如果你用过 Spring Interceptor 或是 Apache Flume,那么应该不会对拦截器这个概念感到陌生,其基本思想就是允许应用程序在不修改逻辑的情况下,动态地实现一组可插拔的事件处理逻辑链。它能够在主业务操作的前后多个时间点上插入对应的“拦截”逻辑。下面这张图展示了 Spring MVC 拦截器的工作原理:拦截器 1 和拦截器 2 分别在请求发送之前、发送之后以及完成之后三个地方插入了对应的处理逻辑。而 Flume 中的拦截器也是同理,它们插入的逻辑可以是修改待发送的消息,也可以是创建新的消原创 2022-12-07 07:41:08 · 885 阅读 · 0 评论 -
Kafka极客 - 03 无消息丢失配置如何实现? |生产者程序丢失数据|消费者程序丢失数据|最佳实践
一直以来,很多人对于 Kafka 丢失消息这件事情都有着自己的理解,因而也就有着自己的解决之道。在讨论具体的应对方法之前,我觉得我们首先要明确,在 Kafka 的世界里什么才算是消息丢失,或者说 Kafka 在什么情况下能保证消息不丢失。这点非常关键,因为很多时候我们容易混淆责任的边界,如果搞不清楚事情由谁负责,自然也就不知道由谁来出解决方案了。一句话概括,Kafka 只对“已提交”的消息做有限度的持久化保证。第一个核心要素是**“已提交的消息”**。什么是已提交的消息?当 Kafka 的若干个 Broke原创 2022-12-07 07:40:48 · 178 阅读 · 0 评论 -
Kafka极客 - 02 为什么要分区|生产者的分区策略|轮询策略|随机策略|消息键保序策略
Kafka 有主题(Topic)的概念,它是承载真实数据的逻辑容器,而在主题之下还分为若干个分区,也就是说Kafka 的消息组织方式实际上是三级结构:主题 - 分区 - 消息。主题下的每条消息只会保存在某一个分区中,而不会在多个分区中被保存多份,如下所示:现在我抛出一个问题你可以先思考一下:你觉得为什么Kafka 要做这样的设计?为什么使用分区的概念而不是直接使用多个主题呢?其实分区的作用就是提供负载均衡的能力,或者说对数据进行分区的主要原因,就是为了实现系统的高伸缩性(Scalability)。不同的分原创 2022-12-06 07:42:30 · 1010 阅读 · 0 评论 -
Kafka极客 - 01 Kafka术语|生产者|消费者|主题|分区|副本|ISR|OSR|AR|HW|LEO|Offset
答案就是“削峰填谷”。 所谓的“削峰填谷”就是指缓冲上下游瞬时突发流量,使其更平滑。特别是对于那种发送能力很强的上游系统,如果没有消息引擎的保护,“脆弱”的下游系统可能会直接被压垮导致全链路服务“雪崩”。但是,一旦有了消息引擎,它能够有效地对抗上游的流量冲击,真正做到将上游的“峰”填满到“谷”中,避免了流量的震荡。消息引擎系统的另一大好处在于发送方和接收方的松耦合,这也在一定程度上简化了应用的开发,减少了系统间不必要的交互。比如,付费课程都有一个专门的订阅按钮,点击之后进入到付费页面。这个简单的流程中就可能原创 2022-12-05 07:28:17 · 415 阅读 · 0 评论 -
Kafka系列 - 15 Kafka Offset|自动和手动提交Offset|指定Offset消费|漏消费和重复消费|消息积压
Kafka0.9版本之前,consumer默认将offset保存在Zookeeper中。从0.9版本开始,consumer默认将offset保存在Kafka一个内置的topic中,该topic为__consumer_offsets__consumer_offsets 主题里面采用 key 和 value 的方式存储数据。key 是 group.id+topic+分区号,value 就是当前 offset 的值。每隔一段时间,kafka 内部会对这个 topic 进行compact,也就是每个 group.i原创 2022-12-04 18:57:05 · 5871 阅读 · 1 评论 -
Kafka系列 - 14 Kafka消费者|分区的分配策略及再平衡|Range|RoundRobin|Sticky|CooperativeSticky
一个consumer group中有多个consumer组成,一个 topic有多个partition组成,现在的问题是,到底由哪个consumer来消费哪个partition的数据。Kafka有四种主流的分区分配策略: Range、RoundRobin、Sticky、CooperativeSticky。可以通过配置参数partition.assignment.strategy,修改分区的分配策略。默认策略是Range +CooperativeSticky。Kafka可以同时使用多个分区分配策略。Range原创 2022-12-04 13:01:18 · 1874 阅读 · 2 评论 -
Kafka系列 - 13 Java 客户端实现消费者消费消息
需求:创建一个独立消费者,消费主题中数据:注意:在消费者 API 代码中必须配置消费者组 id。命令行启动消费者不填写消费者组 id 会被自动填写随机的消费者组 idSpringboot 自定义日志配置关闭Kafka消费者debug日志打印:在resource目录下添加文件 即可。测试生产者发送消息:需求:创建一个独立消费者,消费主题 0 号分区的数据。① kafka 消费者消费主题0号分区的数据:② kafka 生产者向主题的0号分区发送数据:③ 测试:先启动消费者程序,再启动生产者程序需求:测原创 2022-12-04 09:23:09 · 1611 阅读 · 0 评论 -
kafka系列 - 12 Kafka 消费者|消费方式|工作流程|消费者组原理|消费者组初始化和消费流程|消费者参数
例如: groupid的hashcode值 = 1,1% 50 = 1,那么__consumer_offsets 主题的1号分区,在哪个broker上,就选择这个节点的coordinator作为这个消费者组的老大。② 每个分区的数据只能由消费者组中一个消费者消费,同一个分区的数据不能由消费者组中的两个消费者消费;如果向消费组中添加更多的消费者,超过主题分区数量,则有一部分消费者就会闲置,不会接收任何消息。消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。原创 2022-11-30 07:46:26 · 795 阅读 · 0 评论 -
Kafka系列 - 11 Kafka文件存储|文件存储机制|文件清理策略|高效读写数据
Topic是逻辑上的概念,而partition是物理上的概念,每个partition对应于一个log文件,该log文件中存储的就是Producer生产的数据。压缩后的offset可能是不连续的,比如上图中没有6,当从这些offset消费消息时,将会拿到比这个offset大的offset对应的消息,实际上会拿到offset为7的消息,并从这个位置开始消费。这种策略只适合特殊场景,比如消息的key是用户ID,value是用户的资料,通过这种压缩策略,整个消息集里就保存了所有用户最新的资料。原创 2022-11-29 22:29:59 · 330 阅读 · 0 评论 -
Kafka系列 - 10 Kafka副本|分区副本分配|手动调整分区副本|Leader Partition 负载平衡|增加副本因子
这样是为了leader和follower均匀的分配在每个服务器上,尽量不让每个分区的leader和follower都分配在某几个服务器上,比如只分配在broker0、broker1、broker2上,那么这三个服务器挂掉后,数据就丢失了,这样分配的好处是除非四个服务器都挂掉,不然就还可以从broker3同步数据。针对broker0节点,分区2的AR优先副本是0节点,但是0节点却不是Leader节点,所以不平衡数加1,AR副本总数是4,所以broker0节点不平衡率为1/4>10%,需要再平衡。原创 2022-11-29 22:25:02 · 2451 阅读 · 0 评论 -
Kafka系列 - 09 Kafka副本|Leader选举流程|Follower故障|Leader故障
Partition为2的分区有4个副本,其中 Leader为3,假如 hadoop104 挂掉了,那么Partition为2 的Leader 就会重新选举,选举的规则为:在 ISR 中存活为前提,按照AR中排在前面的优先,即新的Leader将是1。Partition为1的分区有4个副本,其中 Leader为2,假如 hadoop103 挂掉了,那么Partition为2 的Leader 就会重新选举,选举的规则为:在 ISR 中存活为前提,按照AR中排在前面的优先,即新的Leader将是1。原创 2022-11-29 07:41:07 · 1587 阅读 · 0 评论 -
Kafka系列 - 08 Kafka Broker工作流程|节点服役|节点退役
② 创建执行计划:节点服役时配置–broker-list “0,1,2,3”,退出服役时只需要配置–broker-list “0,1,2” 接口,把3删除,那么 test2 主题的数据就不会存在 broker.id=3 的 hadoop105 节点上了。可以看到以前创建的 test2 主题,仍然存储在 hadoop101、hadoop102、hadoop103 上,并没有存储在hadoop104 这个新的节点上,只有新创建的主题才会在 hadoop104 节点上,如何解决?原创 2022-11-27 22:23:00 · 519 阅读 · 0 评论 -
Kafka系列 - 07 Zookeeper中存储的 Kafka 信息
两种方式中,Zookeeper 存储的 kafka 信息是一样的,这里以 kafka 伪集群来看下 Zookeeper 中存储的 Kafka 信息。存放消费者相关信息 (一般为空):0.9版本之前用于存Offset信息,0.9版本之后Offset信息存在在kafka 主题中。存储管理员接口操作的相关信息,主要为 topic 删除事件,分区迁移事件,优先副本选举,信息 (一般为临时节点)主要存储 broker 相关的信息,broker 节点以及节点上的 topic 相关信息。存储 kafka 集群信息。原创 2022-11-27 17:28:02 · 1464 阅读 · 0 评论 -
Kafka系列 - 06 Kafka 集群环境搭建(三台服务器)
hadoop-101 虚拟机的 IPADDR 的地址改为:192.168.38.23;hadoop-103 虚拟机的 hostname 的地址改为:hadoop103;kafka集群搭建,需要3台虚拟机环境,但是我目前只安装了一台虚拟机,因此还需要准备两台虚拟机环境,正常情况下应该再安装2台虚拟机,这里为了方便直接克隆出3台虚拟机。② 配置 broker.id,这是Kafka在整个集群当中的唯一身份标识,每个节点不能重复。④ 启动集群:启动集群就是分别启动每个实例,启动后我们查询一下每个实例的运行状态。原创 2022-11-27 16:21:32 · 2528 阅读 · 0 评论 -
Kafka系列 - 05 Kafka生产者|消息发送方式|序列化器|分区器|拦截器|生产者配置参数
不过生产者并不一定都会等到批次被填满才发送,半满的批次,甚至只包含一个消息的批次也可能被发送。所以就算把 batch.size 设置的很大,也不会造成延迟,只会占用更多的内存而已,如果设置的太小,生产者会因为频繁发送消息而增加一些额外的开销。该参数用于控制生产者发送的请求大小,它可以指定能发送的单个消息的最大值,也可以指单个请求里所有消息的总大小。broker 对可接收的消息最大值也有自己的限制( message.max.size ),所以两边的配置最好匹配,避免生产者发送的消息被 broker 拒绝。原创 2022-11-26 21:31:08 · 962 阅读 · 0 评论 -
Kafka系列 - 04 Java客户端实现消息发送和订阅
在上一节中我们安装了Kafka单机环境和集群环境,这一节来测试下Linux环境安装Kafka后的命令行操作。–zookeeper:指定了Kafka所连接的Zookeeper服务地址。–bootstrap-server 指定了连接Kafka集群的地址。–broker-list 指定了连接的Kafka集群的地址。–replication-factor:指定了副本因子。–topic:指定了所要创建主题的名称。–topic 指定了消费端订阅的主题。–topic 指定了发送消息时的主题。原创 2022-11-26 14:55:41 · 2415 阅读 · 0 评论 -
Kafka系列 - 03 Kafka安装|单机环境搭建|伪集群环境搭建 (一台服务器)
① 在安装完JDK和ZooKeeper之后,就可以执行Kafka broker的安装了,首先也是从官网http://kafka.apache.org/downloads中下载安装包,示例中选用按照包的是kafka_2.12-2.2.1.tgz。① 安装ZooKeeper的第一步也是下载相应的安装包,安装包可以从官网https://zookeeper.apache.org/中获得,我们使用的安装包是zookeeper-3.4.14.tar.gz。这个文件就是记录每个服务器的ID。原创 2022-11-22 07:28:58 · 1386 阅读 · 0 评论 -
Kafka系列 - 02 Kafka生产者|发送消息|分区策略|提高吞吐量|数据可靠性|数据去重|数据有序
例如我们实现一个分区器实现,发送过来的数据中如果包含 atguigu,就发往 0 号分区,不包含 atguigu,就发往 1 号分区。/**** @param topic 主题* @param key 消息的key* @param keyBytes 消息的key序列化之后的字节数组* @param value 消息的value* @param valueBytes 消息的value序列化之后的字节数组* @param cluster 集群元数据可以查看分区消息* @return。原创 2022-11-20 11:54:39 · 997 阅读 · 0 评论 -
Kafka系列 - 01 Kafka应用场景|基础架构|Windows安装|命令行操作
① http://kafka.apache.org/downloads下载kafka的kafka_2.12-2.3.0.tar。① 缓冲/消峰:有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况。③ 异步通信:允许用户把一个消息放入队列,但并不立即处理它,然后在需要的时候再去处理它们。config/server.properties:利用config目录下的这个配置文件启动。② 解耦:允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。原创 2022-11-20 09:14:51 · 549 阅读 · 0 评论 -
Kafka深度解析
1. 为什么需要kafka?Kafka 是一个分布式的基于发布/订阅模式的消息队列。消息队列是一种先进先出的数据结构。队列是一种先进先出的数据结构,分布式消息队列可以看做将这种数据结构部署到独立的服务器上,应用程序可以通过远程访问接口使用分布式消息队列,进行消息存取操作,进而实现分布式的异步调用。消息生产者应用程序通过远程访问接口将消息推送给消息队列服务器,消息队列服务器将消息写入本地内存队列后立即返回成功后响应给消息生产者。消息队列服务器根据消息订阅列表查找订阅该消息的消息消费者应用程序,将消息队列原创 2020-07-20 17:40:32 · 2009 阅读 · 1 评论 -
KafKa的安装与启动
文章目录1、JDK安装2、Zookeeper安装与启动3、Kafka安装与启动在CentOS 7中的操作:heng624091、JDK安装# 查看当前目录下文件[root@192 opt]# ll-rw-r--r--. 1 root root 189981475 5月 22 13:49 jdk-12.0.1_linux-x64_bin.tar.gz# 解压文件[root@192 opt]# tar -zxvf jdk-12.0.1_linux-x64_bin.tar.gz# 编辑文件配置环原创 2020-05-22 14:38:32 · 369 阅读 · 0 评论 -
Kafka实现消息生产和消费
文章目录一、Kafka测试消息生产与消费二、Java程序进行Kafka收发消息1、消息生产者2、消息消费者一、Kafka测试消息生产与消费# 首先创建一个主题[root@192 kafka_2.12-2.2.1]# bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic heima --partitions 2 --replication-factor 1–zookeeper:指定了Kafka所连接的Zookeeper服务地原创 2020-05-22 18:05:03 · 3406 阅读 · 1 评论 -
Spring整合Kafka
文章目录1、配置Windows环境下的kafka2、Spring整合kafka1、配置Windows环境下的kafka1、配置zookeeper.properties:# 这个目录文件要存在dataDir=E:/KafKa/Zookeeper/data2、配置server.properties:# 这个目录文件要存在log.dirs=E:/KafKa/data3、在cmd窗口启动Zookeeper:E:\KafKa\kafka_2.12-2.5.0>bin\windows\zoo原创 2020-05-23 10:41:22 · 467 阅读 · 0 评论