1、数据库加锁的机制:
1)一个是数据库本身锁,在update时mysql是排它锁(写锁)并行的,对一个数据进行update的时候就对该记录加了行级锁,然后对该记录的LockTime字段赋值,即成功的给该记录上锁。
2)自己在数据库中增加一个字段LockTime,当锁定的时候,给LockTime赋值当前时间,代表该条记录被锁定,当取没有锁的数据时,获取不到这条记录了, 解锁时,给LockTime赋值为null,代表没有锁定。
当数据库中的LockTime值为null或者小于当前时间-10分钟的时候,代表该条记录没有被锁定,或者锁已过期。
2、环境创建、环境部署实现
2)一个完成的环境从申请机器、到构建部署等,都是用定时Job取执行,每个Job分别执行自己的任务,例如环境创建、环境创建结果查询等,然后由一个数据库中的总Job来记录每个环境中每个Job执行的结果,任何一个环节的Job失败之后就会更新总Job记录中的状态,之后的构建部署Job就不会执行该环境下的任何操作了,即该环境直接就失败了。
3、服务之间调用的配置替换