zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    (九)MySQL数据库
    (八)其他组件(redis、zk、dubbo、MQ、ES)
    (七)Spring体系
    (六)JVM虚拟机
    (五)并发编程与锁机制
    (四)常用集合与原理
    (三)JDK版本区别
    k8s scheduler framework 配置weight不生效的问题
    Elasticsearch ILM delete not working
    etcd 依赖采坑
  • 原文地址:https://www.cnblogs.com/tangkai/p/15162950.html
Copyright © 2011-2022 走看看