当主题不存在时,我不想从我的消费者应用程序自动创建主题。
我知道这是一个 Kafka 服务器级别的配置,用于禁用自动主题创建 ( auto.create.topics.enable = false),但我无法在我的基础设施中进行此更改。
因此,我正在寻找一种方法来禁用我的消费者应用程序中的自动主题创建(使用 Spring Kafka)。
我尝试设置
spring:
kafka:
consumer:
properties:
allow.auto.create.topics: false
Run Code Online (Sandbox Code Playgroud)
但它不起作用!
似乎 Kafka 添加了此支持: https://cwiki.apache.org/confluence/display/KAFKA/KIP-361%3A+Add+Consumer+Configuration+to+Disable+Auto+Topic+Creation
有人可以帮忙吗?
我是微服务的新手,想了解在 Kubernetes 上部署的微服务中实现以下行为的最佳方式是什么:
有 2 个不同的 K8s 集群。微服务 B 部署在两个集群上。
现在如果微服务 A 调用微服务 B 并且 B 的 pod 在集群 1 中不可用,那么调用应该转到集群 2 的 B。
我可以想象通过使用 Netflix OSS 来实现这个功能,但在这里我没有使用它。
另外,暂时将集群间通信放在一边,我应该如何在微服务之间进行通信?
我知道的一种方法是为每个微服务创建 NodePort 类型的 Kubernetes 服务,并在调用微服务中使用 IP 和 nodePort。
问题:如果有人删除了目标微服务的K8s Service怎么办?在重新创建 K8s 服务时,K8s 将随机分配一个新的 nodePort,然后我将不得不返回到我的调用微服务并更改目标微服务的 nodePort。如何与 nodePort 解耦?
我研究了 kubedns,但似乎它只适用于集群。
我对 Istio 和 Kubernetes Ingress 的了解非常有限。这些中的任何一个是否提供了我正在寻找的东西?
抱歉问了一个很长的问题。任何形式的指导都会非常有帮助。
java spring-boot kubernetes microservices kubernetes-ingress