小编ABh*_*nav的帖子

从 Spring Kafka Consumer 禁用自动主题创建

当主题不存在时,我不想从我的消费者应用程序自动创建主题。

我知道这是一个 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

有人可以帮忙吗?

java apache-kafka kafka-consumer-api spring-kafka

2
推荐指数
1
解决办法
6263
查看次数

Kubernetes 上微服务之间集群间通信的最佳方式?

我是微服务的新手,想了解在 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

1
推荐指数
1
解决办法
2610
查看次数