Cloud CoreOS负载平衡在云服务上是如何实现的?

Cloud CoreOS负载平衡在云服务上是如何实现的?,cloud,cluster-computing,load-balancing,coreos,Cloud,Cluster Computing,Load Balancing,Coreos,假设我在某个云服务的某处部署了一个CoreOS集群 现在,比如说,我有4台机器运行一个node.js应用程序,它遵循所有12要素原则,还有一台机器带有Couchbase 在这种情况下,负载平衡是如何工作的?难道一个ip作为负载均衡器不会最终耗尽资源吗?或者这几乎是不可能的?我应该将DNS指向哪里才能正常工作 在过去,我有一个预先使用NGINX的IP,然后以循环方式引导传入的请求 云服务上的CoreOS如何实现这一点?实现这一任务有不同的方法。通常,在您的基础设施、集群或数据中心前面应该有云服务负

假设我在某个云服务的某处部署了一个CoreOS集群

现在,比如说,我有4台机器运行一个node.js应用程序,它遵循所有12要素原则,还有一台机器带有Couchbase

在这种情况下,负载平衡是如何工作的?难道一个ip作为负载均衡器不会最终耗尽资源吗?或者这几乎是不可能的?我应该将DNS指向哪里才能正常工作

在过去,我有一个预先使用NGINX的IP,然后以循环方式引导传入的请求


云服务上的CoreOS如何实现这一点?

实现这一任务有不同的方法。通常,在您的基础设施、集群或数据中心前面应该有云服务负载平衡器。您将处理两层或三层体系结构

DNS指向面向云互联网的负载均衡器,它在任何情况下都管理客户端层。对于AWS,必须通过CNAME记录

每一层的自动可扩展组都有可能降低基础架构可用性降低的风险。然后,通过云配置配置Nginx实例,以防需要从引导阶段进行配置

  • 两层体系结构(您的场景)

    • 您需要的:
    • Nginx实例群集(客户端层)
    • 数据库集群(数据层)
    每个Nginx实例侦听一个HTTP端口,并使用上行进行路由(取决于您的NodeJS应用程序分发)。服务发现是通过etcd,使用Registrator+SkyDNS/Concur或Weaver实现的,因此Nginx解析器可以由此类工具提供的内部DNS代替,而不是上游

  • 三层体系结构

    • 您需要的:
    • Nginx实例群集(客户端层)
    • 应用程序群集(业务层)
    • 数据库集群(数据层)
    这同样适用于两层的Nginx实例,尽管客户端层实例解决了业务层应用程序(使用内部云负载均衡器)和本地包含的单元。业务层的行为类似于两层体系结构中的客户端1,但考虑到安全组的正确配置

  • 对于这两种情况,数据层形成一个独立的区域(SkyDNS)或数据中心(Consor)。此外,您最终可以跳过Nginx,但您需要公开在安全组中打开更多端口

    从以下方面收集知识:

    我能够建立:

    TODO:领事版本。不过,SkyDNS和Ambassadord就是一个例子

    参考资料:


    **请告诉我您的意见。

    哇,回答得很好。我需要一些时间来消化这一切,现在我有点不知所措。