前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker多容器业务流程实时迁移和Jelastic中微服务的高可用性

Docker多容器业务流程实时迁移和Jelastic中微服务的高可用性

作者头像
用户1206729
发布2018-01-08 16:49:15
1.7K0
发布2018-01-08 16:49:15

凭借其轻量级,更高的密度和灵活性,以及快速部署的特性,容器技术震惊了整个IT界,并为云计算的PaaS和IaaS提供了一种新的虚拟化解决方案。

在公有云,私有云或混合云中使用容器技术可以让用户在任何时间碰到负载高峰,维护窗口期或是数据中心可达性问题使更自由的配置服务负载或是迁移至其他地点。相比虚拟机(VM),容器要更加小一些,所以从云与云之间的迁移要容易很多。这一特性让云环境下的应用更加灵活,同时也让DevOps团队可以花费更少的时间和精力来进行管理。

在这个由三部分组成的系列博客中,我们将探讨Jelastic平台中Docker模板实现的主要优点。我们将描述Jelastic 自2011年以来如何使用容器,以及为什么我们坚信我们的方案提供了或许是当前市场上最好的先进容器编排服务。

elastic云的容器系统与微服务架构模式是齐头并进的。任何一个大规模,复杂的企业级应用环境都代表着一个可以被独立调整,配置和监控的服务。并且如果项目需求有任何改变,则可以轻松的在特定服务中进行更改,而无需重构或者重新部署整个项目(这在单体应用中往往是必要的)。有了这样的结构,应用程序甚至可以由不同的团队来管理,每个团队只负责某个部分。

近来最接近微服务的技术是Docker,这种技术主要用来打包应用程序并将它们部署在容器中。事实上,微服务和Docker的完美匹配促使我们在Jelastic中实现了对Docker模板的支持。

基本上,Docker解决了应用程序的组装,交付和可移植性问题,而Jelastic则为托管应用程序提供编排和管理服务。为了满足企业生产环境应用程序的需求,Jelastic在高度安全和稳定的Virtuozzo容器之上提供了Docker模板支持。

Parallels Virtuozzo Containers是一款面向大型同类服务器环境和数据中心的操作系统级虚拟化产品。Parallels的前母公司SWsoft首次发布了Parallels Virtuozzo Containers。Linux版本于2001年发布,而Windows版本则于2005年发布。

image00
image00

目前Docker默认使用LXC和libcontainer来创建Docker容器。这些容器基于名称空间和cgroups来运行。Jelastci也使用了与之相同的内核隔离机制。这就是为什么我们可以确保Docker标准所需的所有进程都可以通过Docker接口来进行合理的本地替换。

有了Docker的Jelastic实现,在使用公共Docker Hub Registry或基于Quay Enterprise Registry 的私有注册表安装任何堆栈,应用程序或系统时,用户将拥有更高的灵活性和更多的选择。当提出一个新的Docker安装请求时,它被放置到一个特殊的共享缓存存储中(为了更方便和快速地进行进一步的安装),之后,它就已经作为独立和隔离的Virtuozzo容器分布在硬件节点中了。因此,每个Docker都在安全的虚拟化容器中进行配置,可以通过ssh登录到root用户或Jelastic控制面板轻松进行管理。

另外,Jelastic技术在密度,管理工具,恢复等方面提供了改进和额外的功能。下面介绍Jelastic Cloud托管的Docker化应用程序的一些优点。

image04
image04

在我们系列博客的第一部分,我们将详细描述使用Jelastic上的Docker能获得的两个重要优势:高可用性和实时迁移。

高可用性

Jelastic在两个层面上为微服务提供高可用性:

  • 应用拓扑
  • 容器虚拟化

应用程序内的负载均衡通过跨多个组件分配工作负载来确保高可用性。使用具有负载均衡的多个组件,而非单个组件,可以通过多余度来提高可靠性。Jelastic使用两种类型的负载均衡:TCP和HTTP。

image07
image07

另外,Jelastic提供了在Web服务器实例之间使用多播会话复制的能力。当集群环境中启用了会话复制时,整个会话数据会被复制在副本实例。会话复制提供高可靠性,可伸缩性和完美的故障转移功能。

Jelastic Cloud可让您轻松设置两种不同类型的数据库复制(主从式主控式主机),以解决许多不同的性能问题,支持数据库备份,减轻系统故障等等。

另外,集成的软件定义存储专门为实现集群中的容器虚拟化的高可用性而设计。具有内置复制和故障恢复功能的分布式存储可确保在硬件节点故障的情况下实现快速自动恢复。换句话说,如果任何硬件节点挂掉以后,所有的容器将在其他现有的硬件节点上自动恢复。

实时迁移和离线迁移

这是企业级云平台至关重要的特性之一。云服务提供商可以轻松地将Docker化应用程序的容器从一台物理服务器迁移到另一台物理服务器,而无需停机,这是保持整体性能和质量的关键要求。这提高了硬件维护期间的运营效率,提供了更好的负载均衡和数据中心利用率,并可以在不中断服务的前提下将用户转移到功能更强大的节点。

Jelastic独特的自动垂直缩放使用实时迁移来确保应用程序可以在服务器内进行扩展,而无需停机。当应用程序在服务器中进行扩展时,其他应用程序可以自动迁移到另一台服务器以腾出空间。实时迁移允许Jelastic为应用程序提供所有必需的资源,而无需重新启动容器并导致应用程序停机。

另外,在硬件维护或其它计划停机期间,实时迁移功能可以将容器从一个硬件节点自动迁移到另一个硬件节点。这使Jelastic平台成为托管有状态应用程序的正确选择。在实时迁移过程中,应用程序可以不停机工作,并获得所需的资源。

此外,容器迁移能力为devops团队提供了更多不同的,在许多情况下,往往更高校的Docker化应用程序生命周期流。在原始版本中要经历整个交付生命周期的所有步骤,所有管道传输阶段都应连接到注册中心。每次你都要重新创建容器,有时甚至是整个多容器环境。换句话说,你在迁移过程(Dev => Test,Test => Stage,Stage => Prod)中每次都要重新打包和重建容器。在Jelastic中,通过容器的实时或离线迁移,您可以轻松地将应用程序从一个生命周期阶段迁移到另一个生命周期阶段,而无需重新构建容器并重新部署应用程序,而且在初始化Docker配置之后,就无需将每个阶段连接到注册中心。

这些应用程序生命周期工作流程需要更深入的分析和说明,我们将单独编写与此主题相关的不同问题的博客。

高可用性和实时迁移只是在Jelastic平台上使用Docker化应用程序时获得的前两个好处。在我们的下一个博客中,您将了更多的了解到容器的隔离和安全性,和其在物理服务器之间的智能分发,服务器资源的高密度和最大利用率以及我们的系统中提供的休眠和重复数据删除技术。

你已经体验过Jelastic之上的Docker吗?请在下面的评论中进行反馈。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档