docker安装单体kafka

kafka安装

1、安装 zookkeeper

docker pull wurstmeister/zookeeper

2、运行zookeeper

docker run -d --name zookeeper -p 2181:2181 wurstmeister/zookeeper

3、拉去kafka

docker pull wurstmeister/kafka

4、启动kafka


# 192.168.1.117 => {你的宿主机ip}

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

5、简单命令

#创建主题
./kafka-topics.sh --create --zookeeper 192.168.1.117:2181 --replication-factor 1 --partitions 1 --topic test1  

#查看主题
./kafka-topics.sh --zookeeper 192.168.1.117:2181 --list

#添加消息
./kafka-console-producer.sh --bootstrap-server 192.168.1.117:9092 --topic test1

#消费消息
./kafka-console-consumer.sh --bootstrap-server 192.168.1.117:9092 --topic test1 --from-beginning
SpringBoot整合kafka

1、添加依赖

      <!--kafka-->
        <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
        </dependency>

2、编写controller层  

@RequestMapping("/KafkaControllerWeb")
public interface KafkaControllerWeb {
     @PostMapping("/sendKafkaMessage")
     R sendKafkaMessage(@RequestBody OrderOutsideDto orderDto);
}
//生产者
@RestController
public class KafkaController  implements KafkaControllerWeb {
    @Autowired
    private KafkaTemplate<String,String> kafkaTemplate;
    @Override
    public R sendKafkaMessage(OrderOutsideDto orderDto) {
        try {
            ListenableFuture<SendResult<String, String>> test2 = kafkaTemplate.send("test1", orderDto.getOrderStatus());
            return R.ok("发送成功");
        }catch (Exception e){
            return  R.error("kafka发送失败"+e);
        }
    }

}

3、编写 消费者

/**
 *  kafka 消费者
 *
 * */
@Configuration
public class KafkaConsumer {
    /**
     * 消费监听
     */
    @KafkaListener(topics = "test1")
    public void onMessage1(String body){
        System.out.println("从kafka收到的消息"+body);
    }
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值