双机开发指南4

入口文件详解:
Monitor:中文即监控,monitor入口脚本会定期检查资源的状态,比如说,IP资源类型的monitor入口会检查指定IP有没有配置生效,然后返回上线、下线、未知这三个状态。
双机软件会在完成online或offline后,调用monitor入口,用来监控刚刚的online或offline有没有生效。不管是上线状态或者下线状态,双机软件都会定期的调用monitor入口,用来监控资源的状态有没有发生变化,默认配置下,在上线状态,monitor入口会被每6秒调用一次,在下线状态,monitor入口每300秒调用一次。
Monitor入口会返回一个数字来表面三种状态:已上线、已下线、未知。
100表示已下线
101表示已上线,但等级为10
102表示已上线,但等级为20
同理103-109表示已上线,但等级为30-90
110也表示已上线,等级为100
如果返回的数字范围在100-110以外,则表示未知
注:ngin的双机monitor只有100、110两种返回值,其它的复杂场景都不会考虑到,所以没有等级这个概念。

Online:中文即上线。Online入口的作用就是把资源拉起上线。例如,IP资源类型的online入口会做一些配置IP的事情。当调用完online入口后,系统会调用monitor查看有没有上线成功。
Online入口脚本会返回一个值,这个值有一个很特殊但极其重要的含义。这个返回值代表一个秒数,当经过这个秒数,系统才会调用monitor入口。
这样的设计,是因为有一些大型的软件(比如数据库)要调用后,要等好久才会正真的启起来,当我在online入口脚本里执行了startup oracle,但是往往要等十几秒,才会在ps -ef里有相关进程,即数据库启起来了,但这个时侯online入口脚本设置为返回0(表示online调用完立马调用monitor),则系统就会判断没有上线而报错。
以前,许多其它部门的兄弟会用sleep这个方法,但这样并不科学。

猜你喜欢

转载自my-dif.iteye.com/blog/788910
今日推荐