作者:程序员老板梦 | 来源:互联网 | 2023-07-10 19:38
依托于RDS自动化思路,构建企业级数据库中台能力,是每个中小企业发展到一定阶段,需要实现的目标。
下图是本人在当前就职公司中,整理的RDS服务中台构建思路:
参考业内对技术中台的定义: 技术中台作为工具和组件,为建设前台应用和业务中台提供了基础设施重用的能力,大大缩短了它们的建设周期。
以我自己的理解, 数据库技术中台需要实现的目标:
1. 通用化的RDS平台能力, 包含但不限于: 数据库单主多从能力, 自动故障切换能力, 自动扩缩容能力,自动分片能力,自动化监控备份能力。
2. 强大的工具链能力,包括但不限于: 数据迁移工具,慢SQL诊断工具,高效的数据查询工具。
3. 不依赖于底层基础设施(不依赖于底层的硬件,网络设备等)。
为了实现上述目标,我们当前按照业务前台,中台服务层,底层基础服务,支撑组件的方式,来构筑RDS中台服务,各层所需的能力:
1. 业务前台: 通过API与中台服务交互,RDS的前台需要实现具体的可视化页面,包括但不限于:
RDS Portal(提供RDS集群的生命周期管理页面),
审计平台(SQL审计平台),
巡检平台,
工具平台(如SQL诊断平台),
方便研发、DBA更好地使用RDS服务。
2. 服务中台: 构建RDS能力的关键层,实现的功能包括但不限于:
API 服务(操作RDS集群的API服务),
任务调度服务(RDS平台依托的任务调度能力,例如库表巡检任务)
通知服务(例如: RDS集群切换自动通知)
DB Proxy(分库分表能力)
SQL审计(SQL日志审计能力)
数据流服务(慢SQL自动Kill)
3. 基础服务层: 支撑RDS服务中台的底层能力,包括但不限于:
Zero(当前公司RDS生命周期管理的底层服务)
Docker(RDS 创建于Docker, 便于快速部署及资源隔离)
Zookeeper、Kafka、Flink、MySQL等
4. 平台支撑层: 支撑RDS服务中台的配套组件,包括但不限于:
Monitor & Alert(构建RDS的监控能力, 需实现RDS的基础监控(主机、网络等)及应用监控(MySQL连接,事务等))
Backup & Restore (构建RDS的备份恢复能力,支撑逻辑备份及物理备份,支撑数据的快速回档能力,如回档指定表到指定时间)
数据迁移工具(便于业务快速从普通机房DB中迁移至RDS)
文档支撑。
参考资料:
中台生态的形成:全面解读技术、研发、移动中台建设