Docker 如何将Hashicorp Nomad/Concur用于有状态实例的最佳方法

Docker 如何将Hashicorp Nomad/Concur用于有状态实例的最佳方法,docker,consul,nomad,Docker,Consul,Nomad,我们有一个使用案例,从一个主要的Nomad作为集群调度器,再加上Concur非常适合,但是我们有一些问题,实现这一点的最佳方法是什么: 服务的单个实例(Docker实例,也可以是本机进程)由一群人共享。每个实例都用一个ID唯一标识,该ID将作为请求的一部分传递(例如HTTP头)。Nomad完全可以安排此工作负载。服务实例在Consor中注册。 这种模式在某种程度上类似于某些游戏服务器的处理方式,即一群人共享一个游戏服务器实例。不幸的是,我们无法找到有关如何与Nomad/Consor有效构建的信息

我们有一个使用案例,从一个主要的Nomad作为集群调度器,再加上Concur非常适合,但是我们有一些问题,实现这一点的最佳方法是什么: 服务的单个实例(Docker实例,也可以是本机进程)由一群人共享。每个实例都用一个ID唯一标识,该ID将作为请求的一部分传递(例如HTTP头)。Nomad完全可以安排此工作负载。服务实例在Consor中注册。 这种模式在某种程度上类似于某些游戏服务器的处理方式,即一群人共享一个游戏服务器实例。不幸的是,我们无法找到有关如何与Nomad/Consor有效构建的信息

我们有以下问题

  • 我们计划为每个独特的流程创建一个专用的Nomad作业(基于通用模板);作业名称将包含唯一ID,如果需要,还将包含附加元数据,以便在Consor中识别它们。这是处理“独特性”的正确方法吗
  • 我们假设我们必须创建一个定制的代理/(第7层)路由器来处理任务是否已经启动的验证,并根据需要启动它。有没有关于代理的建议,可以通过这些功能进行扩展,并很好地集成到Nomad/Consor生态系统中,作为从头开始构建的替代方案
  • 检查游牧工作是否已经开始的最有效方法是什么?只需将请求(基于唯一ID)路由到服务,由“唯一”作业表示,如果请求失败,则启动作业?或者对每个请求进行明确的DNS查找(DNS将由领事维护/提供)

  • 多谢各位。非常感谢您的帮助。

    如果您将此问题分解为多个问题,您将得到更好的答案。听起来您只需要一个反向代理。不确定服务的状态性在哪里发挥作用。领事服务健康状况可以通过其API查询,而不仅仅是DNS