基于麦克斯韦的MySQL数据传输服务整体设计方法教程

介绍

这篇文章主要介绍”基于麦克斯韦的MySQL数据传输服务整体设计方法教程”,在日常操作中,相信很多人在基于麦克斯韦的MySQL数据传输服务整体设计方法教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“基于麦克斯韦的MySQL数据传输服务整体设计方法教程”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

<强> 1。系统整体设计

系统的整体设计图如下:

基于麦克斯韦的MySQL数据传输服务整体设计方法教程

其中DTS为平台前端,可以采用专业前端团队支持。

数据传输系统DTS为独立的业务系统,目前为重新构建,为实现初步初版,基线版本为数据库运维系统的当前版本,后续只维护DTS侧相关逻辑。

其中DTS为了考虑后续的扩展性和可维护性,会基于读者,写服务三个大体的模块来构建,读者,作者可以根据具体的技术方向进行细分。

关联系统为数据库运维系统,任务系统,大数据管理系统,对于这些关联系统的元数据和部分逻辑功能会有相关调用。

整个数据传输服务流程中,一个基础的属性是task_code,这是在DTS任务新建,中端数据传输,后端服务集成中的共同属性,task_code的含义即为client_id,格式为:dts_ (idc) _ (maxwell_ip) _ (maxwell_code),后端服务的话题会基于client_id附加数据库和表信息组合而成。

当在DTS前端页面中输入了基础信息(如数据库IP、端口等)后,会调用中端的服务接口生成相应的client_id,后端服务会根据DTS任务列表中的task_code为基准进行任务管理,而中端服务会根据client_id进行相应的同步对象配置管理/服务启停等操作。

相关的数据传输流如下:

基于麦克斯韦的MySQL数据传输服务整体设计方法教程

<强> 2,中端管理设计

中端管理主要是基于麦克斯韦的部署管理,配置管理,同步对象列表变更,服务管理(启动,停止),服务自管理和监控报警,目前的实现主要基于API,初步实现本地前端。

<强> 2.1。部署管理

部署管理主要是对麦克斯韦服务部署实现平台化管理,目前麦克斯韦应用服务器有2台,分别是130.200和130.201,档案数据库为麦克斯韦服务基础配置数据和麦克斯韦启动初始化的数据库基础元数据。

通过平台化部署能够实现如下的几个功能:

1)能够实现自动寻址,为麦克斯韦新增同步任务匹配相应的应用服务器,在后续新增应用服务器的情况下能够快速调整和适配

基于麦克斯韦的MySQL数据传输服务整体设计方法教程

2)如果已在服务器一个上部署了实例B的麦克斯韦服务,则新增数据同步任务时,需要复用已有的麦克斯韦服务配置,不需要在新的服务器中重新配置。

3)服务配置的基础准备工作,如麦克斯韦相关的账号和防火墙开通等工作,需要通过脚本化管理方式支持,以API形式提供接入,目前统一的麦克斯韦接入账户为:dba_maxwell_repl

①数据库主库主端开通防火墙权限,创建相应的数据库账户

②数据库从库奴隶端开通防火墙权限

4) MySQL服务的拓扑管理基于数据库运维管理系统,需要封装相应的API得到奴隶信息,同时需要在麦克斯韦配置列表中维护管理。

<>强补充:

前置任务:

130.201在服务器上面部署麦克斯韦修正版服务

基于测试环境完成麦克斯韦的接入测试,生产者为stdout

后续的开发可以参考如下的实现点:

①完成麦克斯韦模板化配置

②可以配置模板生成定制化配置,封装统一的启停脚本

③麦克斯韦自动寻址逻辑,同一个实例只能复用一个麦克斯韦进程服务

④Client_id生成逻辑

⑤麦克斯韦代码生成逻辑

⑥基于运维系统封装DTS侧的接口,实现防火墙开通管理和新建复制用户功能,新建用户在主人,权限开通在主人和奴隶端

⑦对于stdout和卡夫卡配置,实现互斥逻辑

<强> 2.2。配置管理

配置管理包含麦克斯韦基础的配置文件,如配置配置,日志配置和监控配置。目录规划设计如下:

基于麦克斯韦的MySQL数据传输服务整体设计方法教程

可以在这个基础上进行服务的相应扩展。

基于麦克斯韦的MySQL数据传输服务整体设计方法教程