Docker 动态可扩展自适应体系结构
我是一名云计算的博士生,我计划在我的研究项目中使用基于微服务的体系结构和concur和zeromq。我有几个问题很难理解。有人能帮我分享他们的经验吗Docker 动态可扩展自适应体系结构,docker,zeromq,microservices,consul,Docker,Zeromq,Microservices,Consul,我是一名云计算的博士生,我计划在我的研究项目中使用基于微服务的体系结构和concur和zeromq。我有几个问题很难理解。有人能帮我分享他们的经验吗 我们有基于dockers的微服务,我们有zeromq和Consor。你能谈谈我们如何将这三者结合起来,形成一个动态的适应性环境吗 虽然我了解zeromq、docker和Concur各自是什么,但我仍然无法清楚地了解它们作为一个整体是如何工作的。我们有docker容器,其中包含在主机上运行的微服务。我们使用zeromq在docker容器之间传输(发布
请给出建议。我参与了一个使用基于Docker的微服务和Consour的大型项目。(我们使用的是另一种排队服务——RabbitMQ,因此我无法详细介绍这方面的内容,但一般来说,队列就是一个队列。) Docker、Consor和我所知道的任何队列技术都不提供自动缩放功能。Docker提供了一种简单的方法来加速服务的多个实例,而Concur提供了服务发现(正如您所说)和一个键/值持久性存储。队列只是在服务实例之间传递消息的一种方式。您没有提到任何处理自动缩放的方法 要添加自动缩放功能,您需要查看类似Kubernetes的内容 你可以看看CloudFoundry或Mesos之类的东西。但是,这两个都需要虚拟化层,如OpenStack或VMWare vSphere。这些产品带来了巨大的价值,但也带来了价格和复杂性
我建议您不要走这条路,而应该研究Amazon Web服务。使用AWS,您可以轻松地运行docker容器,并根据CPU负载、队列中的消息、一天中的时间(或一周中的某一天)等设置自动缩放。我知道使用AWS是有代价的,但如果设计和管理得当,您的成本将远低于尝试自行设计、实施和维护。您还可以使用最小(即免费)的机器和/或现场实例来最小化成本 这是一个有趣的问题。您提到的所有组件都是独立的,在微服务体系结构中具有明显不同的优势和角色。不同寻常的是使用消息传递而不是HTTP。我认为这是一个有价值的离开,因为它支持更灵活的计算模式(工作生产者不需要是产品消费者,甚至不需要得到通知)。跳过HTTP的一个特别优点是避免了负载平衡器的成本(操作成本和服务延迟)、复杂性和增加的故障模式