使用 Apache Kafka 进行外部集成

作为容器 IBM® Sterling Intelligent Promising 开发环境配置的一部分,会在 SIPEnvironment 中配置并管理一个 Apache Kafka 实例。 该 Kafka 实例既可用于内部通信,也可用于外部集成。

关于此任务

在早期的部署环境中,如果用户需要在 与 之间 IBM Sterling Intelligent PromisingSterling Order Management System Software 或与其他外部消费者或生产者之间进行集成,就必须部署并管理一个独立的外部 Kafka 实例。

在更新后的开发环境中, IBM Sterling Intelligent Promising 容器中包含一个 Apache Kafka 实例,该实例也可用于外部访问。 这样就无需为开发和测试目的单独设置和维护一个 Kafka 实例。

正在运行 Sterling Order Management System Software (该组件负责将数据导入 IBM Sterling Intelligent Promising)的用户,或者从(该组件)接收事件的外部系统,即使 IBM Sterling Intelligent Promising它们不在安装 IBM Sterling Intelligent Promising 了的同一集群中,只要具备适当的网络访问权限和配置,也可以连接到此 Apache Kafka 实例。

过程

  1. 安装 Apache Kafka。
    1. 以开发模式安装 IBM Sterling Intelligent Promising 容器,该模式默认会安装 Apache Kafka。
      如需了解更多信息,请参阅 《使用容器安装 IBM Sterling Intelligent Promising 》
    2. 请确认安装过程是否创建了 HTTPS 路由,以便从集群外部访问 Kafka。

      例如:

      https://kafka-<sip-domain>:443
  2. Sterling Order Management System Software 环境中配置 ` Kafka `,方法是在 `` 文件 customer_overrides.properties 中添加以下属性。
    kafka.cluster.names.ext: sip-kafka
    kafka.cluster.sip-kafka.producer.bootstrap.servers: kafka-<sip-domain>:443
    kafka.cluster.sip-kafka.producer.security.protocol: SSL
    kafka.cluster.sip-kafka.producer.ssl.truststore.type: JKS 
    kafka.cluster.sip-kafka.producer.ssl.truststore.location: /opt/ssfs/runtime/security/trustStore
    kafka.cluster.sip-kafka.producer.ssl.truststore.password: changeit
    注意: 请确保在安全协议中使用 SSL 端口,如示例所示。

    有关从 Red Hat® OpenShift® 集群中 trustore.jks 提取路由的更多信息,请参阅 《访问 Kafka : OpenShift 路由 》。

    有关 trustore.jks 从 Kubernetes 集群中提取Ingress的更多信息,请阅《访问 Kafka :Ingress》。

    有关 Kafka 属性的更多信息,请参阅 Kafka properties