分享

# SpringBoot配置Kafka

 小样样样样样样 2020-01-16

SpringBoot配置Kafka


  1. 设置kafka可以被外网访问(修改kafka下面的config下的server.properties
//开启监听网址为服务器ip
listeners=PLAINTEXT://192.168.111.100:9092
//配置该kafka可以被访问的外网地址
advertised.listeners=PLAINTEXT://ip:9092

配置后重启

  1. SpringBoot配置kafka application.yml
spring:
    kafka:
    //刚才配置的kafka可以被外网访问的地址
    bootstrap-servers: 192.168.111.100:9092
    producer:
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: org.apache.kafka.common.serialization.StringSerializer
    consumer:
    //到kafka的config下consume中查看group-id
      group-id: test-consumer-group
      enable-auto-commit: true
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
  1. Producer
@Service
public class Producer {
    private static final Logger logger = LoggerFactory.getLogger(Producer.class);
   	//改Topic users需要到kfka下面新建话题,否则会报错
    private static final String TOPIC = "users";
    @Autowired
    private KafkaTemplate kafkaTemplate;
    public void sendMessage(String message) {
        logger.info(String.format("生产者的消息为:%s", message));
        //发送一条数据到kafka
        this.kafkaTemplate.send(TOPIC, message);
    }
}
  1. Consume
@Service
public class Consumer {
    private final Logger logger= LoggerFactory.getLogger(Consumer.class);
   
    @KafkaListener(topics = "users",groupId = "test-consumer-group")
    public void consume(String message){
        logger.info(String.format("消费者收到的消息为:%s",message));
    }
}
  1. Controller
@RestController
@RequestMapping("/kafka")
public class KafkaController {
    private Producer producer;
    @Autowired
    public KafkaController(Producer producer){
        this.producer=  producer;
    }
    @RequestMapping("/publish")
    public String sendMessageToKafkaTopic(@RequestParam("message") String message){
        this.producer.sendMessage(message);
        return "sucess";
    }
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多