gpt4 book ai didi

kubernetes - 最小主备业务数

转载 作者:行者123 更新时间:2023-12-02 12:00:41 24 4
gpt4 key购买 nike

我是Kubernetes的新手。就是说:我正在寻求将故障转移功能添加到您可能会视为旧服务的现有dockerized服务中,就某种意义而言,它需要主动/备用故障转移处理(完整的描述理由很长,它具有与空间索引和地理数据处理有关,在这种情况下,对于给定场景,具有多个 Activity 实例会使可伸缩性和性能方面变得更糟,例如,分片将变得难以处理。
我的服务是HTTP REST服务(在C++中),使用的是分布式RQLite DB的数据库客户端,该数据库存储此服务管理的所有数据。我要实现以下目标:

  • 我想一直保持3个RQLite服务连续运行,并尽可能将其分发到三个节点(注意:RQLite本身使用RAFT,默认组为三个)。
  • 我还希望我自己的应用程序始终运行2-3个服务,其中一个必须是主服务,其他必须保持待机状态。
  • 服务必须能够知道另一个(例如,解析RQLite实例的IP)

  • 我可能会错过它,但不要知道Kubernetes是否积极支持 Activity /备用。我在这里找到了一些过时的答案,例如( How should application using active/passive redundant model be containerized using kubernetes?)。
    但是在研究许多对我来说都是新的细节之前,我想先向您介绍一下Kubernetes是否真的是这种情况的正确基础(Nomad可能对这种“传统”应用程序更好吗?)?
    如果您能提供一个最小的示例来展示Kubernetes如何解决我的故障转移问题,那将是很棒的。

    最佳答案

    当然,关于Kubernetes。您也可以使用Nomad,我认为没有对与错,所以主要是关于意见和您想尝试的内容。
    我认为,如果您只想使用一个Kubernetes Service,则可以在副本中使用ReadinessProbes。您可以使用Deployment来管理副本。这是假设您的应用程序具有领导者选举机制(例如RAFT),该机制一次只能让1个pod /实例接收流量。领导者将始终通过准备就绪探测,而非领导者将使准备就绪探测失败。 Kubernetes服务不会将流量转发到未通过准备就绪探测的Pod。
    另一种选择是在2个或多个服务之前设置自己的代理,例如nginx / haproxy,该代理将进行运行状况检查,并且仅转发到“ Activity ”服务。
    Similar options are available with Nomad

    关于kubernetes - 最小主备业务数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62805592/

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