1. 程式人生 > >kafka學習小結(springboot2+kafka組成叢集模式2基礎實戰)

kafka學習小結(springboot2+kafka組成叢集模式2基礎實戰)

搭建簡單的springboot2專案

1.maven添 

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

pom.xml配置新增

kafka:
  bootstrap-servers: 服務地址
  consumer:
    group-id: group

2.新增RestController介面用於傳送message

 

@RestController
public class TestController {

    @Resource
    private KafkaTemplate<String, String> kafkaTemplate;

    @RequestMapping("/send")
    public String send(String name) {
        kafkaTemplate.send("newtopic", name);
        return name;
    }

}

3新增監聽介面用於記錄日誌

@Component
public class MyConsumer {

    @KafkaListener(topics = "mytopic")
    public void listen(ConsumerRecord<?,String> record) {
        String value = record.value();
        System.out.println("kafka監聽的值是——————"+value);
        System.out.println(record);
    }
}

為了測試,我們需要啟動多個專案來測試,簡單點複製改下名字(記得改下pom.xml中埠設定)

修改demo1的pom.xml

kafka:
  bootstrap-servers: 服務地址
  producer:
    group-id: newgroup
  consumer:
    group-id: mygroup

修改demo2的pom.xml

kafka:
  bootstrap-servers: 服務地址
  producer:
    group-id: newgroup
  consumer:
    group-id: mygroup

完成了,同時啟動,呼叫demo介面

檢視日誌,demo1有記錄,demo2無,多試試幾次,發現group_id相同的demo1demo2在收到topic時只能有一個接收到

證明分組概念正確,2同理測試去掉分組,發現demo1,demo2都能取到資料,測試成功