目前各分布式数据库均宣称支持动态节点扩容和缩容,大家在主流分布式数据库是否进行过动态扩容和缩容操作,实施过程是否有什么问题,尤其是动态缩容操作,个人感觉相对难度较大点。
收起资源动态扩缩容是金融行业、特别是银行业普遍的需求,常见如下:
一方面,不同业务的高峰时段不一样,举个例子,日终清算和贷款批量扣款还款是不同时间段的业务。
另一方面,热点库、热点分区、热点账户的问题客观存在
综上,因此数据库必然有动态扩容需求、动态分割资源的需求,这时候,租户隔离和动态加减服务器就提上日程了。
租户隔离,不仅是线上数据库稳定的基本保证,应用通过容器实现微服务的拆分,实现有效隔离,数据库层怎么隔离呢? 就是要通过租户资源隔离,实现数据库层的有效隔离。从业务价值来看,租户隔离是实现资源动态、分时段分割的有效手段。一段时间给到日终清算,跑批完成后,给到贷款批量扣款还款。
动态加减服务器方面,选择支持一致性协议的数据库,那些基于开源魔改的数据库,用什么一致性Hash算法实现所谓的打散,能够扩容,缩容缩不了 或者缩容不平滑。
从实践方面,加减服务器就看蚂蚁和阿里的OceanBase,多年大促的打磨,从电子商务的高并发,到三方支付,这方面久经考验。数据库的成熟是业务场景磨出来的,不是研发写出来的。