在分布式系统中部署并运行Sudoku Solver,需要考虑以下几个问题:
· Sudoku Solver如何部署到多台host上运行?是把可执行文件拷贝过去吗?程序用到的库怎么办?配置文件怎么办?
· 如何启动服务程序Sudoku Solver?如果每个Solver的配置文件稍有不同(比如每个Solver有自己的service name),那么配置文件是自动生成吗?
· Sudoku Solver的listening port如何配置?如何保证它不与其他服务程序重复?
· 如果程序crash,谁来重启?能否自动重启?开发/运维人员能否及时收到alert?
· 如果想主动重启Sudoku Solver,要不要登录到那台host上去kill?还是能够远程控制?
· 如果要升级Sudoku Solver程序,如何重新部署?如何(尽量)做到不中断服务?
· Web Server如何知道那些Sudoku Solver的地址?是不是静态写到Web Server的配置文件里?
· 如果Sudoku Solver所在的host发生硬件故障,管理人员是否能立刻得知这一状况?Web Server能否自动failover到其他alive的Solver上?
· 部署新的Sudoku Solver之后,Web Server能否自动开始使用新的Solver而无须重启?(重启Web Server似乎不是大问题,这里我们进一步考虑client是个有状态的服务,应该尽量避免无谓的重启。)
· 程序可否安全地退役?比方说公司不再做求解Sudoku的业务,那么关闭全部Sudoku Solver会不会对其他业务造成影响?
这些问题可以大致归结为几个方面:部署(含升级)可执行文件与配置文件、监控进程状态、管理服务进程,故障响应,这些合起来可称为运维(operation)。
分布式系统可运维性
Comments 0
Sign in to comment and like
← More postsThat’s all for now. Thanks for reading.
No comments yet.