开发者学堂课程【分布式文件存储系统技术及实现:分布式系统功能设计-QoS 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/368/detail/4379
分布式系统功能设计-QoS
一、多用户共同存在下的 QOS 保证
1、多用户共同存在下怎么用优先级以及区分用户保证 IO 的质量。
(1) 在盘古里面,会对不同的用户划分优先级,用户的 IO 请求到达盘古冲刺的时候,会用一个分类器对不同用户的请求放到不同的队列里,每个队列都有一个权重,根据权重定期取出一定量的 IO 请求,进行刺班处理。
(2) 这里举了三个优先级,在每个队列里面还会分不同的用户组,在分布式存储系统里面存在这样一个场景,在同样的优先级里面,不同的用户发起的 IO 量不一样,比如有一个用户发起的 IO 量特别大,将 IO 队列都塞满了,这时候其他用户的 IO 请求放不进来,所以这些用户看起来对它是拒绝访问的。
2、怎样解决这个问题:
(1) 对不同的用户进行区分,然后对每个进入队列的用户请求进行计数。
(2) 比如发起 IO 量比较大的这个用户,已经放到队列里面比较多的请求了,这个时候在往里放,虽然队列没有满,也不让它放进去,就可以给 IO 量比较小的用户一个机会,把请求放到队列里,后边再用轮寻的方式,每一时刻从不同的用户组里边取出 IO 请求,这样达到优先级队列内部的公平性,这样就做到了用户共同使用分布式文件系统的时候都没有问题。