可伸缩性是衡量IaaS能力的重要指标,几乎所有的IaaS都宣称自己具有高弹性的扩展能力。但是到底能够伸缩到什么程度,只有谁用谁知道了。对于ZStack来说,我们的设计目标就是能够利用单台管理节点管理数十万台物理主机和数百万台虚拟机。管理的过程中必须完成及时有效的响应。单从ZStack提出的这个数量级来说,应该可以绝对领先当今市面上其他的开源IaaS了。也许你对此会嗤之以鼻:支持这么多虚拟机有必要吗?我现在用的IaaS没这么高也挺好的啊。但是我会告诉你,这非常有必要。原因不仅仅是因为以后的云计算管理的服务器的体量一定会越来越大,而且还体现了IaaS软件自身设计的健壮性和稳定性。如果可以利用单台服务器就能满足的能力,你非要通过10台,100台服务器来实现,这只能说明你用的IaaS内部逻辑实现的过于复杂,而且过多的复杂的控制节点必然会带来整个架构不稳定的风险。
那么ZStack是如何实现这么高的调度能力呢?我们有三项核心技术:异步架构,无状态的服务(StatelessService Arch)以及无锁架构(Lock-free Architecture