###限制在指定的ip,并且每个ip上只能跑一个实例
#命令行写法
hostname:UNIQUE, ip:LIKE:192.168.254.129|192.168.254.130
#json写法
"constraints": [
[
"hostname",
"UNIQUE"
],
[
"ip",
"LIKE",
"192.168.254.129|192.168.254.130"
]
],
这个用法有个坏处,就是你设置应用启动方式的时候要注意,如果你仅仅这样设置,你的应用是无法进行重启的
"upgradeStrategy": {
"minimumHealthCapacity": 0.5,
}
默认minimumHealthCapacity=1,这就意味着,在实例进行版本升级或者重启的时候,所有的老实例依然存在,那根据我们的constraints规则"每个机器上只能存在一个实例"冲突了,so,这里也要注意这个minimumHealthCapacity必须是小于等于0.5的 反正是一说,这里在说另外参数-maximumOverCapacity,这个参数设置的值也是0-1,不同的是,这个值是在进行实例调容的时候才起作用的。控制的是调容变更过程中最大增加实例的数量。
###LIKE的正则匹配,记住这个是为了做正则匹配的,如果你要使用绝对匹配建议你使用CLUSTER,下面给出一个例子
#slave 1
--attributes=region:gk;model:c1;busi:dev;ip:192.168.254.131
#slave 2
--attributes=region:gk;model:c1;busi:dev1;ip:192.168.254.129
#匹配条件
Constraints busi:LIKE:dev[0-2]*
如果实例数为3,看看运行的结果