96SEO 2026-02-20 04:31 8
前言二、环境说明三、概念四、CentOS7安装kafka1.下载kafka安装包2.下载好后进行解压六、kafka项目集成1️⃣pom引入2️⃣配置kafka3️⃣一个kafka消息发送端4️⃣定义一个kafka消息消费端5️⃣定义一个Controller进行测试6️⃣测试结果如下一、前言

上一期我是带着大家入门了SpringBoot整合WebSocket今天我再来一期kafka的零基础教学吧。
不知道大家对kafka有多少了解反正我就是从搭建开始然后再加一个简单演示这就算是带着大家了个门哈剩下的我再后边慢慢出教程给大家说。
kafka是linkedin开源的分布式发布-订阅消息系统目前归属于Apache的顶级项目。
主要特点是基于pull模式来处理消息消费追求高吞吐量在一台普通的服务器上既可以达到10W/s的吞吐速率完全的分布式系统。
一开始的目的是日志的收集和传输。
0.8版本开始支持复制不支持事务对消息的丢失重复错误没有严格要求
适用于产生大量数据的互联网服务的数据收集业务。
在廉价的服务器上都能有很高的性能这个主要是基于操作系统底层的pagecache不用内存胜似使用内存。
综上所述kafka是一款开源的消息引擎系统(消息队列/消息中间件)
下载地址https://kafka.apache.org/downloads.html
通过ftp将kafka安装包kafka_2.11-0.9.0.1.tgz上传到服务器
/opt/monitor/kafka/kafka_2.12-2.2.1
/opt/monitor/kafka/kafka_2.12-2.2.11
config/zookeeper.properties按一下键盘上的
键进入编辑模式将光标移动到日志文件存放路径配置信息所在行并修改dataDir/opt/monitor/kafka/kafka_2.12-2.2.1/zklogs
dataDir/opt/monitor/kafka/kafka_2.12-2.2.1/zklogs修改好后按下键盘上的Esc
执行sh./zookeeper-server-start.sh
注意这里提示报错权限不足使用命令修改权限个人建议把bin的权限全部修改成777
/opt/monitor/kafka/kafka_2.12-2.2.1/config/zookeeper.properties执行命令ps
查看zookeeper是否启动成功出现类型如下信息表示成功启动
键进入编辑模式修改advertised.listenersPLAINTEXT://外网IP:9092;
修改log.dirs/opt/monitor/kafka/kafka_2.12-2.2.1/logs该参数为kafka日志文件存放路径
修改每个topic的默认分区参数num.partitions默认是1具体合适的取值需要根据服务器配置进程确定
/opt/monitor/kafka/kafka_2.12-2.2.1/bin
/opt/monitor/kafka/kafka_2.12-2.2.1/config/server.properties
#启动kafka服务指定配置文件执行命令查看kafka是否启动成功
dependencygroupIdorg.springframework.kafka/groupIdartifactIdspring-kafka/artifactId
spring:kafka:bootstrap-servers:
0#当有多个消息需要被发送到同一个分区时生产者会把它们放在同一个批次里。
该参数指定了一个批次可以使用的内存大小按照字节数计算。
batch-size:
org.apache.kafka.common.serialization.StringSerializer#
org.apache.kafka.common.serialization.StringSerializer#
只要集群的首领节点收到消息生产者就会收到一个来自服务器成功响应。
#
只有当所有参与复制的节点全部收到消息时生产者才会收到一个来自服务器的成功响应。
acks:
需要符合特定的格式如1S,1M,2H,5Dauto-commit-interval:
该属性指定了消费者在读取一个没有偏移量的分区或者偏移量无效的情况下该作何处理#
latest默认值在偏移量无效的情况下消费者将从最新的记录开始读取数据在消费者启动之后生成的记录#
在偏移量无效的情况下消费者将从起始位置读取分区的记录auto-offset-reset:
是否自动提交偏移量默认值是true,为了避免出现重复数据和数据丢失可以把它设置为false,然后手动提交偏移量enable-auto-commit:
org.apache.kafka.common.serialization.StringDeserializer#
org.apache.kafka.common.serialization.StringDeserializerlistener:#
5#listner负责ack每调用一次就立即commitack-mode:
manual_immediatemissing-topics-fatal:
org.springframework.beans.factory.annotation.Autowired;
org.springframework.kafka.core.KafkaTemplate;
org.springframework.kafka.support.SendResult;
org.springframework.stereotype.Component;
org.springframework.util.concurrent.ListenableFuture;
org.springframework.util.concurrent.ListenableFutureCallback;/***
JSONUtil.toJsonStr(obj);log.info(准备发送消息为{},
obj2String);//发送消息ListenableFutureSendResultString,
ListenableFutureCallbackSendResultString,
throwable.getMessage());}Overridepublic
stringObjectSendResult.toString());}});}
org.apache.kafka.clients.consumer.ConsumerRecord;
org.springframework.kafka.annotation.KafkaListener;
org.springframework.kafka.support.Acknowledgment;
org.springframework.kafka.support.KafkaHeaders;
org.springframework.messaging.handler.annotation.Header;
org.springframework.stereotype.Component;import
KafkaProducer.TOPIC_GROUP1)public
Header(KafkaHeaders.RECEIVED_TOPIC)
Optional.ofNullable(record.value());if
message.get();log.info(topic.group1
msg);ack.acknowledge();}}KafkaListener(topics
KafkaProducer.TOPIC_GROUP2)public
Header(KafkaHeaders.RECEIVED_TOPIC)
Optional.ofNullable(record.value());if
message.get();log.info(topic.group2
com.suihao.kafka.KafkaProducer;
org.springframework.beans.factory.annotation.Autowired;
org.springframework.web.bind.annotation.GetMapping;
org.springframework.web.bind.annotation.RestController;/***
kafkaProducer;GetMapping(/send)public
sendMsg(){kafkaProducer.send(------------测试消息-----------);}
https://gitee.com/suihao666/SpringBoot-Kafka
最后送所有正在努力的大家一句话你不一定逆风翻盘但一定要向阳而生。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback