今天在阿里云上将一个磁盘快照导出为vmdk的时候,忽然想到,如此耗费服务器资源的操作,是如何平衡计算给每个用户的呢?
在很久以前,网站主们使用同一个物理服务器上的虚拟主机,当一个网站疯狂占用资源时,会造成同机器的所有网站响应缓慢。
在近代,使用vps的网站主们不再有这个困扰,但是当IDC超售,邻居们都用满资源的时候,还是会导致自己的网站被波及。
现在都是云计算时代了,对于不同网站主的资源隔离得非常彻底,上面列举的情况几乎不会再出现了
但是另一种情况还是存在的,就像文章开头提到的那样,在一个网站中,用户们对于服务器计算资源的分配问题
我们粗略假设这个网站日常并发量为20,服务器准备了并发40的资源,那么当访问量暴增,超过服务器的40上限时会发生什么呢?
现在的答案是,先访问者先响应,就是说谁先来,谁来得频繁,谁就得到更多,
这就像不用排队的买票窗口,谁的体验都不好,除了那些彪悍份子与喜欢乘乱牟利者
我设想一种资源隔离方式,它能给每个网站用户分配一定的预留计算资源,无论网站访问量超过多少,每个注册用户都可以顺畅的使用自己预留的那份计算资源,
就是说,只要你是注册用户,那么你可以在任何情况下都能顺畅的访问网站
那么新涌进来的用户怎么办?答案是让他们等着,等网站维护者升级了服务器后才允许他们进入。
这样能在任何情况下保证所有人有一个好的体验。
我相信这种单用户资源隔离的技术迟早会出现的,正如我们从虚拟主机到vps再到云服务器的技术发展过程一样,
按需按量的使用计算资源,是一个趋势,是让网络世界更有序的方法.
像随着社会发展,购物窗口的人挤人变成排队,再变成预约制度,像火车高铁从抢票,黄牛票,变成现在的实名制买票。
稀缺资源的分配秩序,良好利用,就意味着这门学科的发展。