• 工作总结
  • 工作计划
  • 心得体会
  • 领导讲话
  • 发言稿
  • 演讲稿
  • 述职报告
  • 入党申请
  • 党建材料
  • 党课下载
  • 脱贫攻坚
  • 对照材料
  • 主题教育
  • 事迹材料
  • 谈话记录
  • 扫黑除恶
  • 实施方案
  • 自查整改
  • 调查报告
  • 公文范文
  • 思想汇报
  • 当前位置: 雅意学习网 > 文档大全 > 公文范文 > 正文

    我国省级工程建设项目审批管理系统中高可用MySql,架构的部署与应用讨论

    时间:2023-06-05 22:30:11 来源:雅意学习网 本文已影响 雅意学习网手机站

    文|宿迁市自然资源基础信息中心 杨成飞

    【关键字】工程建设项目审批制度改革;
    工程建设项目审批管理系统;
    高可用MySql 架构;
    三级部署;
    数据实时共享

    基于改革要求下的工程建设项目审批体系对于城市审批数据传输的实时性要求很高,住房和城乡建设部编制的《工程建设项目审批管理系统数据共享交换标准V2.0》要求“城市工程建设项目审批管理系统运行产生的数据,在5 分钟内应上传到省级、国家级工程建设项目审批管理系统”。省级工程建设项目审批管理系统(以下简称“省级系统”)处于工程建设项目审批数据三级上报体系的中间层,承担着接收城市工程建设项目审批管理系统(以下简称“城市系统”)数据以及向国家工程建设项目审批管理系统(以下简称“国家系统”)推送数据的任务,因此,采用高可用的数据库架构,确保省级系统数据传输的时效性和稳定性,是实现整个工程建设项目审批数据体系实时共享的重要保障。

    本文基于工程建设项目审批监管数据的上报体系,介绍使用高可用MySQL 架构保障省级系统实现工程建设项目审批数据上报持续性和实时性的案例。

    工程建设项目审批数据的上报为三级上报体系,由城市系统上报给省级系统,再由省级系统上报给国家系统。省级系统采用“前置机+通知接口”的方式接收城市系统推送的审批数据,为每个城市分配前置库账号和通知接口账号。城市系统运行产生的数据实时推送给省级系统前置机,同时调用省级系统的通知接口,省级系统接到通知后对城市系统的数据进行质量校验,汇聚数据到正式库,同时向国家系统推送审批数据。

    各个地市系统的工程建设项目审批数据推送到省级系统的前置数据库,为提升数据的时效性,在省级系统前置机中建立省级系统的正式数据库,用于汇集地市系统的审批数据并开展校验。

    从审批数据三级上报体系可以看出,审批数据要实现与国家系统的实时共享,省级系统的可用性对数据上报的持续性和实时性起着至关重要的作用。

    由于各个地市系统的工程建设项目审批数据量大,对省级前置机的访问频次高,前置数据库服务器负载压力大,一旦前置机出现故障,数据上报链路中断,数据无法上报给省级系统和国家系统,将导致监督考核统计结果不准确,影响各级领导层的监管决策。为保障数据上报持续性和实时性,减轻前置数据库服务器的负载压力,通过设计一套高可用的MySQL 数据库架构,利用主从备份、读写分离和双机热备技术,实现审批数据热备份以及服务器故障后的自动切换,从而确保数据上报的安全、可靠和持续性。

    2.1 MySQL 主从同步

    当前广泛使用的MySQL 数据库的备份应用中,“主从复制结构”应用已成为主流,其数据同步和实时性都很高,技术上可满足省级系统数据传输高时效性的应用需求。部署MySQL 主从同步,增加从服务器,实现主从服务器数据实时备份,可避免因服务器故障导致的数据丢失,并为实现读写分离奠定基础,从而提升数据库的性能。

    Mysql 服务器集群之间的主从同步机制是基于二进制日志,仅记录所有数据库表结构变更以及表数据修改,而不会记录SELECT 和SHOW 这类操作,数据保存的是二进制数据。主服务器使用二进制日志来记录数据库的变动情况,从服务器通过读取和执行该日志文件来保持和主服务器的数据一致。通过主从同步机制,省级系统前置机主库的所有变更或修改操作都会被记录下来,然后从库会接收到日志副本,并执行日志中的语句,即可实现数据的同步。

    图1 审批数据三级上报体系图

    图2 MySQL 主从同步示意图

    2.1.1 主从同步的原理

    (1)Master 服务器将数据变更记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events)。

    (2)Slave 服务器将Master 服务器的binary log events 拷贝到它的中继日志(relay log)。

    (3)Slave 服务器执行中继日志中的事件,即实现与Master 服务器同步数据。

    2.1.2 主从复制配置步骤:

    1.3.2 观察组 采取硝苯地平与盐酸拉贝洛尔(江苏迪赛诺制药有限公司,国药准字:H32026120)联合治疗:予以盐酸拉贝洛尔100 mg/次,3次/d,口服;
    硝苯地平用药方法与对照组相同。两组均持续治疗2周。

    (1)增加一台服务器用作省级系统前置服务器的从库。

    (2)从省级系统前置机主库中导出一份完整的结构和数据,导入到从库中,确保从数据库与主数据库里的结构和数据完全一致。

    (3)在主数据库里创建一个同步账户授权给从数据库使用。

    (4)配合主数据库,修改配置文件,启用binlog 日志,设置服务器标识符server-id 为2(必 须 比 从 库id 大),重 启Mysql 服务。

    (5)配置从数据库,修改配置文件,设置服务器标识符server-id 为1,启用中继日志relay log,重启Mysql 服务。

    (6)配置并启动主从复制。

    2.2 Mycat 实现读写分离

    省级系统应用服务器对前置机数据库服务器的操作包括读数据和写数据,容易造成负载压力过大,因此采用“读写分离”的方式来减少服务器压力,将读数据的操作全部交给从库处理,减少对前置机服务器主库的请求量,从而实现负载均衡。

    Mycat 是一个广受好评的数据库中间件,在处理数据库操作上已经很成熟,在本方案中使用Mycat 来实现数据库的读写分离。

    省级系统读写分离的步骤:

    (1)省级系统主库与省级系统从库实现主从复制功能。

    (2)应用端(MySQL 客户端或应用程序)发起读写请求。

    (3)Mycat 服务器对读写请求进行分发,将写操作发送给省级系统主库处理,读操作发送给省级系统从库处理。

    Mycat 读写分离配置操作步骤:

    (1)配置Mycat 账号密码和数据库名(server.xml);
    Mycat 作为数据库的中间件,对于上层应用来说,它就是一个数据库。因此需要配置数据库的用户名,密码,数据库名,以及读写权限。

    (2)在 schema.xml 文件中配置读写分离,包括数据库配置、分片配置、物理数据库配置和读写服务器信息配置。

    (3)启动Mycat,在配置文件server.xml 中设置全局sql 防火墙,将需要访问Mycat 的ip 加入到whitehost(IP 白名单)中。

    2.3 双机热备+Keepalived 实现故障切换

    在前文中通过Mycat 和MySQL 主从复制实现了数据库的读写分离和数据备份,这种结构很大程度保证了MySQL 的高可用,但是对于省级系统前置库这种写操作特别频繁的服务器环境来说,写操作的要求很高,一旦主库宕机,无法实现数据库的自动切换,同样会造成数据上传中断,影响到实时性,因此需要部署双主互备架构,避免主节点故障造成写操作失效。

    本节主要介绍利用Keepalived+MySQL双主来实现 MySQL 数据库故障自动切换。在主从复制结构的中,当主库出现故障时,从库能识别并接管主库的功能,快速将自身设置为主库,继续向外提供服务。绝大部分情况下,该过程可在5 秒内可切换完成。待原主库修复后,会自动恢复从库的备份角色,如此循环以保障应用不间断。

    图3 Mycat 部署读写分离部署示意图

    图4 MySQL 双机热备+keepalived 部署示意图

    当前,我国已有很多省份应用了双机热备+Keepalived 实现故障切换,由省级系统将虚拟IP 和端口提供给地市工建系统,地市工建系统通过访问虚拟IP 和端口上传数据,虚拟IP 通过keepalived 判断双主备份的服务器节点情况,自动选择处理的服务器,当主节点服务器宕机时,自动切换至备节点服务器,从而保障省级系统数据上传持续性和实时性。

    要基于Keepalived+MySQL 双主来实现MySQL-HA,必须保证两台MySQL 数据库的数据完全一样,需要将两台MySQL互为主从关系,通过Keepalived 相互配置虚拟IP。在实际运行过程中实现其中一台MySQL 数据库宕机后,应用能够立即切换到另外一台MySQL 数据库,持续提供服务,保证系统的高可用。

    在双主互备的基础上加上keepalived,在其中一台机器上绑定虚拟ip(VIP)。利用vip 统一对外服务,可以避免在两个节点同时写数据造成冲突。同时当keepalived 主节点发生故障时,keeplived 会自动将VIP切换到备节点上,从而实现主服务器的高可用。

    MySQL 双主互备+keepalived 架构部署:

    (1)增加一台服务器用于与省级系统前置库实现双主互备,基于MySQL 主从复制,对每台服务器都进行同样的主从设置。

    (2)对两台服务器均安装keepalived,并进行相关的配置。

    (3)对主节点keepalived 进行配置,设置priority 为100,增加参数nopreempt,设置不抢占模式,配置对外的服务器IP(VIP)。

    (4)对备节点keepalived 进行配置,设置priority 为90,配置对外的服务器IP(VIP)。

    (5)启动keepalived,通过故障模拟,测试VIP 的漂移情况(即主节点宕机后,是否能自动切换至备节点)。

    在住房和建设部门业务领域中,工程建设项目涵盖政府投资类的房屋建筑和市政工程项目、社会投资类的一般社会投资、小型社会投资和带方案出让社会投资项目以及工业类投资等项目,涉及范围广,审批业务复杂,涉及其他业务部门多,产生的审批业务数据量极大。省级工程项目审批管理系统作为一种评价改革成效的信息化手段,承载汇聚并校验行政区域内各地级市的工程建设项目审批数据,具有对全省各地市工程建设项目审批制度改革效能的监督和分析的功能,包括对各地市审批项目数、审批办件数、审批逾期情况、审批用时等情况的分析。省级系统是三级上报体系的重要一环,保障省级系统数据架构的高可用是对整个工程建设项目审批数据体系实时共享的重要保障。

    图5 某省级系统服务器部署示意图

    以某省级系统建设情况为例,该省级系统使用三台数据库服务器实现MySQL 的高可用架构,一台服数据库服务器作为省级系统主库,两台数据库服务器作为省级系统从库。省级系统主库A 承担省级系统前置数据库的数据汇集和省级系统应用的写操作,两台数据库服务器作为省级系统从库,分别用于读写分离和双机热备。

    省级系统从库B 用来与省级系统主库A 形成双机热备,使用VIP 对外提供服务,keepalived 监测服务器情况,当省级系统主库A 出现故障时,省级系统从库B 自动接管主库的操作。

    省级系统从库C 作为省级系统主库A的备份库,承担省级应用的读操作和数据统计分析。省级系统访问数据库服务时,通过中间件MyCat 实现读写分离将写操作发送给省级系统主库A 处理,读操作发送给省级系统从库C 处理,从而减轻对省级系统主库A 的负载压力。

    基于高可用MySql 架构的部署建设的省级工程建设项目审批管理系统,具有高可用性和稳定性的特点,能保障工程建设项目审批数据上报的稳定性和实时性,为工程建设项目审批制度改革的成功提供了强有力的技术保障,能有效提升工程建设项目审批管理及服务水平,辅助政府智慧决策。随着全国工程建设项目审批制度改革工作的持续推进和深化,相信其信息化支撑系统建设将更加完善,发挥出更大效用,创造出更大的经济效益和社会效益。

    猜你喜欢 日志前置建设项目 一名老党员的工作日志华人时刊(2021年13期)2021-11-27探讨建设项目质量管理常见问题建材发展导向(2021年20期)2021-11-20基于环保竣工验收对建设项目环评的分析环境保护与循环经济(2021年7期)2021-11-02风电建设项目全过程造价控制探讨建材发展导向(2021年13期)2021-07-28被诊断为前置胎盘,我该怎么办中国生殖健康(2020年5期)2021-01-18前置性学习单:让学习真实发生教书育人(2020年11期)2020-11-26扶贫日志心声歌刊(2020年4期)2020-09-07国企党委前置研究的“四个界面”当代陕西(2020年13期)2020-08-24精准的声音还原 Yamaha CX-A5200前置放大器家庭影院技术(2020年6期)2020-07-27雅皮的心情日志思维与智慧·上半月(2018年10期)2018-11-30

    推荐访问:管理系统 工程建设 省级

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章