kafka學習小結(springboot2+kafka組成叢集模式2基礎實戰)
阿新 • • 發佈:2018-11-22
搭建簡單的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都能取到資料,測試成功