gpt4 book ai didi

virtualization - 虚拟化应用程序的编程注意事项

转载 作者:行者123 更新时间:2023-12-01 13:03:43 25 4
gpt4 key购买 nike

SO 上有很多问题询问虚拟化对开发和测试的优缺点。

我的问题略有不同 - 在虚拟化司空见惯的世界中,程序员在编写可部署到虚拟化环境中的软件时应考虑哪些事项?我的一些初步想法是:

  1. 检测您的应用程序的另一个实例是否正在运行
  2. 与硬件(物理/虚拟)通信
  3. 资源节流(为在单 CPU VM 上运行的多核 CPU 编写的应用程序)

还有什么吗?

最佳答案

您已经掌握了三大要点涵盖的大部分基础知识。注意:

  • 硬件通信相关问题。磁盘访问速度有很大不同(并且可能有异常高的极端 - 想象一个 VM 在磁盘写入过程中关闭 3 天......)。网络访问可能会因异常响应而中断
  • 花哨的指针算法。尽量避免它
  • 严重依赖异常罕见的低级/汇编指令
  • 依赖机器时钟。请记住,在 VM 上运行时,您对时钟和时间间隔所做的任何调用都可能会定期返回异常值
  • 单 CPU 应用程序可能会发现自己在多 CPU 机器上运行,这些机器会做一些时髦的事情,比如 Work Stealing
  • 极端情况和异常故障模式更为常见。您可能不必像在虚拟机上那样担心网卡会在真实机器上的通信过程中消失
  • 资源(内存、磁盘等)的手动管理。工作自动化程度越高,虚拟环境处理它的能力就越好。例如,您最好使用内存管理类型的语言/环境,而不是用 C 语言编写应用程序。

关于virtualization - 虚拟化应用程序的编程注意事项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4302236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com