PAAS平台构建7×24小时高可用应用的方案设计

本博客迁移到部署在jae上的独立博客系统wordpress,博客地址:点击打开独立博客。欢迎你们一块儿来讨论IT技术。算法

 

如今不少企业都在搭建本身的私有PAAS平台,固然也有不少大型互联网公司搭建共有PAAS平台(例如SAE/BAE/JAE(jae.jd.com))。那么使用PAAS平台来部署SAAS应用有哪些好处呢?除了你们都知道方便部署管理,节约资源和成本,今天我主要给你们介绍另外一个好处就是让部署在PAAS平台上的应用很容易作到7×24小时不服务器运行(哪怕须要从新部署和更新应用),这个对于通常的企业和普通开发者来讲是很难办到的。固然若是要在PAAS平台作到其实也不是那么简单的,须要很强的技术力量。下面就主要介绍一下在PAAS平台怎样实现让部署在PAAS平台上的应用达到7×24小时运行的方案。服务器

在介绍方案设计以前须要强调一下,这个前提是PAAS平台自己是7×24小时高可靠的。网络

本方案设计主要涉及下面几方面的改进:app

(1)应用运行调度模块:可以将应用的多个实例调度到不一样的服务器和机架上进行运行;wordpress

(2)应用运行状态的监控模块:对应用的运行情况进行监控;设计

(3)优雅重启应用模块:可以在应用从新部署和升级时不停服务;blog

一,首先咱们来看看调度模块内存

调度模块应该是PAAS平台(不论是私有仍是共有的)标配,只是不一样的PAAS平台有本身特点的调度方法和策略,例如根据服务器资源使用来调度(这个里面有涉及到各类资源的调度,例如根据CPU或者内存等),或者根据部署的应用个数来调度。固然好的调度策略绝对不仅使用一种评判标准来做为调度的策略,确定是结合各类状况考虑。由于今天主要介绍的是应用的高可靠性,因此主要介绍怎样经过调度算法保证应用的高可靠性。假如应用为了提升本身的服务能力和可靠性运行了3个实例,那么怎么的调度算法是最佳的(仅仅针对高可靠性这一点来讲的)?咱们都知道设计一个高可靠性系统都会考虑到服务器出问题和网络(交换机)出问题,因此调度模块为了保证这个应用的高可靠性应该须要保证这三个实例应用不在同一个服务器上运行,同时保证三个实例不该该在同一个机架下运行,固然若是有条件的PAAS平台能够考虑跨数据中心调度(不过应该没有几个PAAS平台可以作到跨数据中心部署PAAS平台上的应用)。资源

要作到上面说的调度结果,调度模块应该可以知道全部部署应用的服务器的部署状况,或者至少可以经过某种方法查询到。我相信全部的PAAS都应该有资源管理模块(或者叫作PAAS平台的服务器监控模块)可以提供这些信息。除了知道服务器的部署状况,调度模块应该还须要可以知道或者查询到某一个应用实例运行在哪一台服务器上,由于只有这样调度模块才可以保证不会把后面的实例调度到同一个服务器上。例如应用启动三个实例,已经启动2个实例了,还须要启动第三个实例,那么调度模块启动第三个实例以前须要知道其余连个实例运行的服务器和机架,这样才能保证把第三个实例调度到其余机架上去运行。一样若是应用运行的三个实例,忽然某个时候其中一个实例挂掉了,那么须要把第三个实例从新运行起来,仍是须要使用调度模块来完成不一样服务器和不一样机架的调度。至于调度模块怎么知道挂掉了一个实例,这个不是调度模块关心的事情,下面介绍的应用运行状态监控模块会很好的解决这个问题。开发

 

预知方案设计完整详情,请移步本人独立博客,谢谢。这篇博客的地址是:点击打开这篇文章

相关文章
相关标签/搜索