springboot~連接kafka需要注意的地方


kafka需要zookeeper的支持,我們可以使用docker-compose簡單的部署一個環境,在部署時,kafka需要我們為它配置一個hostname,這個名稱是每個kafka節點(broken)的名稱,也是很容易被忽視的地方,通過kafka客戶端工具可以看到你當前部署kafka時的hostsname,在部署java時,你的主機也需要配置這個host.

部署一個kafka

docker-compose實現

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    hostname: zookeeper1
    network_mode: bridge
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka:2.11-0.11.0.3
    hostname: kafka1
    network_mode: bridge
    links:
      - zookeeper
    ports:
      - "9092:9092" #表示宿主機的端口為隨機,這樣方便使用docker-compose scale 進行擴容
    environment:
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://:9092
      KAFKA_LISTENERS: PLAINTEXT://:9092
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181

部署一個應用,使用k8s配置容器hosts

spec:
  template:
    spec:
      hostAliases:
        - ip: "192.168.60.146"
          hostnames: ["kafka1"]

在java應用中可以直接連接kafka的地址和端口


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM