理解逆虚拟机拷贝(Reverse Virtual Machine Replication) - 下

逆虚拟机拷贝是怎么解决以上问题的呢。简单来讲,就是不给主机直接发网络包,而是发给备机作转发:
1)请求包并非直接发给主机,而是发给备机;
2)备机并不处理请求包,而是缓存后直接转发给主机;
3)主机的虚拟机接到请求包,执行业务逻辑,并执行正常的虚拟机拷贝到备机。缓存

这样达成的结果是,传统虚拟机拷贝里的主机承担的网络活动和业务活动被解偶了。在逆拷贝里,主机只承担业务活动职责,而网络活动的职责则有备机承担。这样,在主机失败后,备机因为保存了最新的网络包(新于主机),即便备机保存的状态并非最新(旧于主机),备机仍然能用存储的网络包回放来更新备机状态。网络

那问题来了,因为备机被加入到关键路径,备机若是失败,整个系统也瘫痪了,因此失败切换也须要考虑到备机。其实很简单,这个时候直接把主机的业务端口打开,直接监听业务网络包便可。这个时候,全部因为备机失败没法成功传到主机的网络包,会做为简单的丢包处理。而后由TCP来进行网络重传。性能

这样来作,因为去掉了传统虚拟机拷贝的阻塞缓存,这块回包的延时就去掉了。同时,拷贝也不须要高频率进行,进一步改善了性能。spa

本文因为篇幅限制,没有办法更加详细的对可行性和细节进行讨论,有兴趣能够读一下原文。这里贴一张原文的对比图。ip

http://ieeexplore.ieee.org/do...get

clipboard.png

相关文章
相关标签/搜索