SO上有很多问题询问虚拟化在开发和测试方面的利弊。
我的问题略有不同——在虚拟化司空见惯的世界里,程序员在编写可部署到虚拟化环境中的软件时应该考虑哪些事情?我最初的一些想法是:
- 检测您的应用程序的另一个实例是否正在运行
- 与硬件通信(物理/虚拟)
- 资源节流(为在单 CPU VM 上运行的多核 CPU 编写的应用程序)
还要别的吗?
SO上有很多问题询问虚拟化在开发和测试方面的利弊。
我的问题略有不同——在虚拟化司空见惯的世界里,程序员在编写可部署到虚拟化环境中的软件时应该考虑哪些事情?我最初的一些想法是:
还要别的吗?
您已经掌握了三大要点所涵盖的大部分基础知识。注意:
根据我的经验,您实际上只需要关心几件事:
您的应用程序不应因为 CPU 时间不足而失败(即使用超时太紧)
不要使用低优先级始终运行的进程在后台执行任务
时钟可能运行不均匀
不要相信操作系统关于系统负载的说法
几乎所有其他问题都不应由应用程序处理,而应由虚拟器、主机操作系统或您首选的系统管理员处理 :-)