Spring Cloud构建微服务架构--基于kafka构建消息总线BUS

该博客介绍了如何在CentOS环境中利用Docker安装Kafka和Zookeeper,然后在Spring Cloud配置中心项目中引入Kafka自动装配jar包,并在application.yml中配置Kafka地址,最后启动Spring Config Server的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、环境准备:

centos环境下,借助docker安装kafka,安装kafka之前我们需要安装Zookeeper;
一个典型的Kafka集群中包含以下:

  •  若干Produce;
  • 若干broker(broker数量越多,集群吞吐率越高);
  • 若干Consumer Group,以及一个Zookeeper集群。

Kafka通过Zookeeper管理集群配置,选举leader,以及在Consumer Group发生变化时进行rebalance。Producer使用push模式将消息发布到broker,Consumer使用pull模式从broker订阅并消费消息。

下载kafka、zookeeper镜像:

#下载kafka镜像
[root@jason jiahongfei]# docker pull wurstmeister/kafka
Using default tag: latest
latest: Pulling from wurstmeister/kafka
e7c96db7181b: Pull complete 
f910a506b6cb: Pull complete 
b6abafe80f63: Pull complete 
c7db1651fcd4: Pull complete 
3a06d69a6954: Pull complete 
18616ed64100: Pull complete 
Digest: sha256:a9980b591efe62a68de0acf5f5ce2f6fa7112ab07ec1099c976cdadc740c7ea4
Status: Downloaded newer image for wurstmeister/kafka:latest


#下载zookeeper镜像
[root@jason jiahongfei]# docker pull wurstmeister/zookeeper
Using default tag: latest
latest: Pulling from wurstmeister/zookeeper
a3ed95caeb02: Pull complete 
ef38b711a50f: Pull complete 
e057c74597c7: Pull complete 
666c214f6385: Pull complete 
c3d6a96f1ffc: Pull complete 
3fe26a83e0ca: Pull complete 
3d3a7dd3a3b1: Pull complete 
f8cc938abe5f: Pull complete 
9978b75f7a58: Pull complete 
4d4dbcc8f8cc: Pull complete 
8b130a9baa49: Pull complete 
6b9611650a73: Pull complete 
5df5aac51927: Pull complete 
76eea4448d9b: Pull complete 
8b66990876c6: Pull complete 
f0dd38204b6f: Pull complete 
Digest: sha256:7a7fd44a72104bfbd24a77844bad5fabc86485b036f988ea927d1780782a6680
Status: Downloaded newer image for wurstmeister/zookeeper:latest

启动kafka、zookeeper镜像:  

#启动zookeepter镜像:
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper


#启动kafka镜像
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.0.105:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.105:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka


KAFKA_BROKER_ID=0
KAFKA_ZOOKEEPER_CONNECT=192.168.0.105:2181
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.105:9092
KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092


#KAFKA_ZOOKEEPER_CONNECT  配置的是zookeeper的地址,可以单节点配置,也可以配置zookeeper集群多节点,用逗号隔开

 注:容器操作辅助指令:

查看目前有哪些容器:docker  container ls

 暂停容器:docker container  stop    XXXXXXXXXXX    #容器编号

 删除容器:docker  container   rm     XXXXXXXXXXX

 

二、配置中心项目pom.xml 引入kafka自动装配jar包:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bus-kafka</a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石头城程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值