轻松上手 Spring Boot & Kafka 实战!

轻松上手 Spring Boot & Kafka 实战!

作者:Java领域佼佼者 2020-04-23 15:59:04

开发

前端

Kafka Kafka需要依赖zookeeper,并且自身集成了zookeeper,zookeeper至少需要3个节点保证集群高可用,下面是在单机linux下创建kafka3个节点伪集群模式。

Kafka集群安装、配置和启动

Kafka需要依赖zookeeper,并且自身集成了zookeeper,zookeeper至少需要3个节点保证集群高可用,下面是在单机linux下创建kafka3个节点伪集群模式。

1、下载包

下载地址:http://kafka.apache.org/downloads

2、解压包

  1. tar -zxvf kafka_2.11-1.0.0.tgz\mv kafka_2.11-1.0.0 kafka1\mv kafka_2.11-1.0.0 kafka2\mv kafka_2.11-1.0.0 kafka3 

3、创建ZK集群

修改ZK配置文件:kafka1-3/config/zookeeper.properties分别修改对应的参数。

  1. dataDir=/usr/local/kafka/zookeeper1 
  2. dataLogDir=/usr/local/kafka/zookeeper/log 
  3. clientPort=2181 
  4. maxClientCnxns=0 
  5. tickTime=2000 
  6. initLimit=100 
  7. syncLimit=5 
  8. server.1=127.0.0.1:2888:3888 
  9. server.2=127.0.0.1:4888:5888 
  10. server.3=127.0.0.1:6888:7888 

/usr/local/kafka/zookeeper1-3目录下分别创建myid文件,内容对应1~3

启动ZK,分别进行Kafka1-3目录:

  1. bin/zookeeper-server-start.sh config/zookeeper.properties & 

启动报文件失败,需要手动创建文件目录并赋予对应的权限。

4、创建Kafka集群

配置文件:kafka1-3/config/server.properties分别修改对应的参数。

  1. broker.id=1  
  2. zookeeper.connect=localhost:2181,localhost:2182,localhost:2183 
  3. listeners=PLAINTEXT://192.168.12.11:9091  
  4. log.dirs=/tmp/kafka-logs-1 

启动Kafka,分别进行Kafka1-3目录:

  1. bin/kafka-server-start.sh config/server.properties & 

启动报文件失败,需要手动创建文件目录并赋予对应的权限。

5、集群测试

在kafka1上面发送消息:

  1. bin/kafka-console-producer.sh --broker-list localhost:9091 --topic test 

在kafka2、kafka3消费消息:

  1. bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic my-replicated-topic 

Spring Boot 集成 Kafka 实战

1、添加spring-kafka依赖

  1. <spring-kafka.version>2.1.0.RELEASE</spring-kafka.version> 
  2.  
  3. <!-- spring-kafka--> 
  4. <dependency> 
  5.     <groupId>org.springframework.kafka</groupId> 
  6.     <artifactId>spring-kafka</artifactId> 
  7.     <version>${spring-kafka.version}</version> 
  8. </dependency> 

2、添加Spring Boot的自动配置

自动配置类:

  • org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration

配置属性类:

  • org.springframework.boot.autoconfigure.kafka.KafkaProperties
  1. Spring: 
  2.   kafka: 
  3.     bootstrap-servers: 
  4.       - 192.168.101.137:9091 
  5.       - 192.168.101.137:9092 
  6.       - 192.168.101.137:9093 
  7.     producer: 
  8.       retries: 0 
  9.       batch-size: 16384 
  10.       buffer-memory: 33554432 
  11.       key-serializer: org.apache.kafka.common.serialization.StringSerializer 
  12.       value-serializer: org.apache.kafka.common.serialization.StringSerializer 
  13.     consumer: 
  14.       group-id: foo 
  15.       auto-offset-reset: earliest 
  16.       enable-auto-committrue 
  17.       auto-commit-interval: 100 
  18.       key-deserializer: org.apache.kafka.common.serialization.StringDeserializer 
  19.       value-deserializer: org.apache.kafka.common.serialization.StringDeserializer 

3、发送消息

  1. @Autowired 
  2. private KafkaTemplate kafkaTemplate; 
  3.  
  4. @GetMapping("/send"
  5. public Object send(String msg) { 
  6.     kafkaTemplate.send("test""name", msg); 
  7.     return "send ok"

4、接收消息

在任何bean里面,添加@KafkaListener,支持消息接收。

  1. @KafkaListener(topics = "test"
  2. public void processMessage(String content) { 
  3.     logger.info("收到消息, topic:test, msg:{}", content); 

 

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/241696.html<

(0)
管理的头像管理
上一篇2025-04-24 11:08
下一篇 2025-04-24 11:10

相关推荐

  • 站群服务器到底是什么意思,怎么选择比较好

    站群服务器就是一台拥有多个独立IP地址、专门用于托管和管理多个网站的高性能服务器,其核心价值在于通过独立IP降低网站间的关联风险,并提升搜索引擎优化效果,站群服务器的工作原理与适用场景站群服务器本质上是将一台物理服务器通过虚拟化或直接配置的方式,分配给多个独立IP地址,每个IP对应一个独立的网站,这些网站共享服……

    2026-07-27
    0
  • 高防服务器误封正常流量如何调整,怎么解决?

    高防服务器误封正常流量,核心调整思路是从“一刀切”转向“精细化”——通过分析业务特征,调整防护阈值、配置白名单和启用智能学习模式,让防护系统学会区分真假流量,为什么会误封正常流量误封主要源于防护策略的通用化,高防服务器通常默认启用严格防护规则,当流量特征与攻击特征库部分匹配时,就会被拦截,据行业安全白皮书指出……

    2026-07-27
    0
  • 高防服务器的防御原理是什么,如何选择高防服务器?

    高防服务器的防御原理,简单说就是通过流量清洗、防火墙规则和黑洞路由等机制,在攻击流量到达业务服务器之前将其过滤或阻断,从而保障正常访问,流量清洗机制是核心防线高防服务器对抗DDoS攻击,靠的不是单一技术,而是一套组合动作,最常见的攻击类型是流量型攻击,比如UDP洪水、SYN洪水、ICMP放大等,核心思路是耗尽带……

    2026-07-26
    0
  • BGP线路到底是什么意思呢,有什么优势?

    BGP线路是一种通过边界网关协议实现多运营商网络互联的接入方式,能自动选择最优路径,极大提升跨网访问速度和稳定性,是解决国内南北网络瓶颈的核心方案,什么是BGP线路BGP,全称Border Gateway Protocol,边界网关协议,是互联网核心路由协议之一,它负责在自治系统之间交换网络可达性信息,BGP线……

    2026-07-26
    0
  • 增值电信业务经营许可证对IDC有多重要,如何办理?

    增值电信业务经营许可证是IDC服务商合法运营的核心凭证,它直接决定了机房能否接入骨干网、客户能否放心托管业务,以及服务商自身能否长期稳定发展,许可证是IDC进入市场的硬门槛互联网数据中心业务属于增值电信业务中的B1类,依据工信部《电信业务经营许可管理办法》,任何从事服务器托管、虚拟主机、云服务等业务的企业,必须……

    2026-07-26
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注