云分区

下面章节详细解释何为云分区:

分区

StratOS的分区可以映射为IaaS的一个逻辑分区。这个逻辑分区可以是以下级别中的一种:Provider级别、Region级别、Zone级别或者Rack级别。一个逻辑分区至少需要定义一个Provider。逻辑分区定义时也可指定区分组。DevOps用户为了实现高可用,可以定义复合区域,将资源实例创建到不同的区域,比如不同的region、zone或者rack。例如如果将资源实例创建到EC2的不同可用ZONE,这样在其中一个ZONE出现问题时部署的应用仍然可用。

Apache StratOS 云分区_云分区

网络分区

网络分区也会关联到一个分区组。网络分区映射到IaaS的一个区域,受限于IaaS的一个实际网络(比如region)。每个region在地理上是隔离的。每个region有多个隔离的位置,称为多个zone。但一些分区也可以在一个网络分区内。为了实现高可用,DevOps用户可以定义多个分区组,属于多个分区。在同一个网络分区内的多个分区的分区算法定义在部署规则中,而在不同网络分区之间的分区算法定义在应用的规则中。


网络分区算法

在多个分区之间发生自动扩展时,需要根据预先定义的分区算法起作用。在多个网络分区创建资源实例时需要使用分区算法定义的扩展机制。分区算法可应用于一个网络分区之内,可根据分区算法变化到多个网络分区之间。例如,有两个网络分区命名为NP1和NP2,有两个隔离的分区命名为P1和P2,都在同一个分区组PG1中,分区算法在PG1分区组的P1和P2内起作用,可以变化为在网络分区NP1和NP2之间起作用。

Apache StratOS 云分区_云分区_02

有如下几种分区算法:

顺序算法

使用这种算法,资源实例会创建在同一个分区,直到资源全部被使用,则会继续到下一个分区创建。例如,有两个分区命名为P1和P2,资源实例在同一个分区下创建,直到分区P1的资源被使用完后,继续在P2下创建资源。这种分区算法在多个分区或者多个网络分区之间使用。

  

随机算法 

使用这种算法,资源实例会随机在多个分区上创建。例如,有两个分区P1和P2,第一次创建资源实例时在P1分区,下次创建资源实例时则会在P2分区。这种分区算法只在不同的分区之间使用。

  

全部匹配 

资源实例创建到应用程序使用的所有网络分区中。这种分区算法应用在多个分区或者多个网络分区之间。


示例场景

在一个典型的云流量突然增加的场景,你可以使用顺序算法。例如,如果企业有自己的私有云,所有的资源实例都被放到私有云中,当容量不够时,下一个分区会指向公有云。随机算法被用在需要可靠的高可用场景,资源实例会均匀的分布到不同的IaaS平台内。


网络分区定义
自动伸缩服务是基于网络分区的定义起作用的。在Apache Stratos中通过定义网络分区来管理资源实例的数量。网络分区定义在网络分区JSON定义文件中。部署策略的定义能被定义在组级别或者是cartridge级别。可以在组级别或者cartridge级别定义资源的最大数量。