首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL分布式环境配置管理初步设计

这是学习笔记的第 2083 篇文章

最近在做MySQL分布式环境的统筹管理,目前碰到的痛点是对于集群的配置管理目前是松散的,几套环境还能忍受,如果环境多了之后还是很容易凌乱,所以我们需要一套机制来保证。

在中间件层面,Mycat的配置管理是很让人诟病的。而这些我所说的配置管理是和单纯的文件配置的依赖度不高。

我们可以设想几个场景,比如我们要新增一个表,那么在配置层面生效之外,还需要在数据库层面生效,至于分片的规则策略,数据节点的配置管理应该是一体化的工作,比如新建表应该是关联主从复制环境的主库来执行。

比如对一张表做变更,则不会涉及配置层面的变动,需要映射相关的数据节点即可。

比如需要对分布式环境的数据做数据流转和归档,则映射到数据节点应该是从库端去抽取数据。

比如开放集群的元数据给业务方,则对所有的业务场景都需要做到信息融合,比如开通权限,要对中间件节点开通权限即可,如果要创建账号,则需要映射到相关的数据节点上面。

所以对于这个分布式管理模式,操作层面我倒不是很担心,主要是担心这个模型层面该怎么玩。从目前我梳理的信息来看,主要包含如下的几个维度:

元数据信息涉及:集群,路由,实例,数据库,表,如下图所示:

我们分为创建表,变更表,元数据访问入口,数据流转和归档四个场景来进行模型的说明。

首先是创建表,是目前的模型设计中最为复杂的。对于元数据的整理和梳理,可以参考如下的映射关系。

最后的部分是对于配置生效,我们可以刷新中间件的配置信息生效。而纵观整个方案,其实是分成了三个较大的维度。

对于变更表来说,操作复杂度会低很多,主要涉及中间件配置和实例层的配置变动。

对于元数据提取的需求,则对中间件配置层的信息是弱化的,主要对接的是集群层面的信息。

有的同学可能会有疑问:为什么中间件层和集群层的配置都会各搞一套,其中一个原因是他们的角色和定位不同,而本质上集群层面的信息是更加通用的。

对于数据流转和归档,则主要是中间件配置和实例,表层面的信息对接,映射到从库,从从库中提取数据。

整个模型的设计需要很多细化的工作和API模式管理。

最后安利一下,新书在京东一周左右,已经登入了计算机和互联网销量排行榜第11名。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190830A0GBXL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券