1. 程式人生 > 其它 >spring boot 整合kafka 新增使用者認證

spring boot 整合kafka 新增使用者認證

最近因為公司需要程式在連線kafka的時候需要進行身份認證,在網上翻了一遍之後發現都不能調通,最後測試通過記錄一下

1.首先是kafka伺服器端配置

kafka伺服器端的許可權配置也是有多種配置方式,這裡配置成功的是這種方式

org.apache.kafka.common.security.plain.PlainLoginModule

其他的身份認證我這邊沒有做測試,理論上應該差別不大,具體可以自己嘗試一下。

上面的認證模式確定之後,就是客戶端配置

2.客戶端配置賬號資訊:

server:
  port: 8080
  servlet:
    context-path: /demo
spring:
  kafka:
    bootstrap
-servers: 192.168.152.69:9092,192.168.152.69:9093,192.168.152.69:9094 producer: retries: 0 batch-size: 16384 buffer-memory: 33554432 key-serializer: org.apache.kafka.common.serialization.StringSerializer value-serializer: org.apache.kafka.common.serialization.StringSerializer consumer: group
-id: spring-boot-demo # 手動提交 enable-auto-commit: false auto-offset-reset: latest key-deserializer: org.apache.kafka.common.serialization.StringDeserializer value-deserializer: org.apache.kafka.common.serialization.StringDeserializer properties: session.timeout.ms:
60000 listener: log-container-config: false concurrency: 5 # 手動提交 ack-mode: manual_immediate properties: security: protocol: SASL_PLAINTEXT sasl: mechanism: PLAIN jaas: config: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="name" password="password";'

經過測試釋出訂閱都能正常執行

程式碼參考地址:https://github.com/xkcoding/spring-boot-demo/tree/master/demo-mq-kafka