容器化RDS|计算存储分离架构下的 IO 优化

2018-01-13 10:57:22来源:oschina作者:Mr_zebra人点击

分享

计算存储分离架构


架构示意图如下:


f3dbc8e85ab8eb687d952f20a4c721378637aed5


存储层由分布式文件系统组成,以Provisoner的方式集成到Kubernetes.


在我们看来, 计算存储分离的最大优势在于:


将有状态的数据下沉到存储层,这使得RDS在调度时,无需感知计算节点的存储介质,只需调度到满足计算资源要求的Node,数据库实例启动时,只需在分布式文件系统挂载mapping的volume即可,可以显著的提高数据库实例的部署密度和计算资源利用率。


我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。


其他的好处还有很多,譬如架构更清晰,扩展更方便,问题定位更简单等,这里不赘述。


计算存储分离架构的缺点


俗话说的好:


上帝为你关上一扇窗的同时,再关上一扇门。


如下图所示


196be2e580c457167c72b6b22ee824b640e7bdec


相较本地存储, 网络开销会成为IO开销的一部分, 我们认为会带来两个很明显的问题:

数据库是Latency Sensitive型应用, 网络延时会极大影响数据库能力(QPS,TPS);
在高密度部署的场景, 网络带宽会成为瓶颈, 可能导致计算 & 存储资源利用不充分。

其实还有一个极其重要的问题,由于kubernetes本身没有提供Voting服务和类似Oracle Rac的Fence机制,在计算存储分离架构下,当集群发生脑裂,并触发Node Controller和Kubelet的驱逐机制时,可能会出现多个数据库实例同时访问一份数据文件导致DataCorruption的情况,数据的损失对用户而言是不可估量也不可忍受的

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台