gpt4 book ai didi

kubernetes - 在 Kubernetes 中的多个服务实例之间同步 HTTP 请求

转载 作者:行者123 更新时间:2023-12-02 11:36:58 26 4
gpt4 key购买 nike

我们有一个具有多个副本的服务,它可以在没有事务和阻塞方法的情况下与存储一起使用。所以我们需要以某种方式通过一些“分片”键来同步多个实例之间的并发请求。现在,我们在 Kubernetes 环境中将此服务作为 ReplicaSet 托管。

你不知道任何简单的开箱即用的方法来做到这一点,而不是从头开始实现它吗?

以下是我们关于如何做到这一点的几个想法:

  • 将服务部署为 StatefulSet 并实现一些代理 API,该 API 将通过从 HTTP 请求中分片 key 将流量路由到此 StatefulSet 中的特定 pod。在这种情况下,所有应该同步的请求都将由一个实例处理,处理这种情况不会有问题。
  • 将服务部署为 StatefulSet 并在同一服务中实现一些自定义逻辑,以将流量重新路由到特定实例(或此确切实例上的进程)。据我了解,不可能有抽象实现,它只能在 Kubernetes 环境中工作。
  • 以某种方式将每个 pod IP 暴露在集群之外,并在客户端实现路由逻辑。
  • 只需通过 Redis 等第三方服务实现实例之间的同步即可。

  • 我想尝试将流量路由到特定的 pod。如果您知道如何处理这种情况的标准方法,我将不胜感激。

    非常感谢您!

    最佳答案

    另一种方法是在您的服务前面放置一个消息队列(如 Kafka 和 RabbitMq)。
    然后您的 pod 将订阅 MQ 主题/流。 pod 将决定它是否应该处理消息。

    此外,请尝试查看服务网格,例如 IstioLinkerd .
    他们可能为您的用例提供 OOTB 解决方案,尽管我找不到。

    关于kubernetes - 在 Kubernetes 中的多个服务实例之间同步 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57573189/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com