[发明专利]一种基于Nginx的高可用MySQL数据库的实现方法在审
申请号: | 201710059502.5 | 申请日: | 2017-01-24 |
公开(公告)号: | CN106919654A | 公开(公告)日: | 2017-07-04 |
发明(设计)人: | 王换换;余文文;王竞;吴响 | 申请(专利权)人: | 徐州医科大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京盛凡智荣知识产权代理有限公司11616 | 代理人: | 晏荣府 |
地址: | 221004 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 nginx 可用 mysql 数据库 实现 方法 | ||
技术领域
本发明涉及服务器集群、数据库高可用技术领域,具体是一种基于Nginx的高可用MySQL数据库的实现方法。
背景技术
随着技术的快速发展,人们获取信息与存储信息的途径越来越多,其中上网已成为人们信息和交流的主要途径。但随着Internet用户数量的日益增多,网站访问量日趋增大,服务器如何快速响应客户端发送的请求成为一个难题。因此,如何提供一种快速、可靠、易于实施和维护、故障快速恢复的数据库服务器高可用解决方案变得尤为重要。
发明内容
为了解决大型MySQL数据库软件平台,服务中断导致业务长时间停顿的问题,本发明提供一种基于Nginx的高可用MySQL数据库的实现方法,实现了数据读取与数据写入的分离,在不改变基于传统的关系型数据的设计架构和SQL的访问方式的同时,能够具备应对大并发量和大数据量的可扩展性使得应用程序能够在不做任何修改的前提下获得极高的可扩展性和高可用性。
本发明是以如下技术方案实现的:一种基于Nginx的高可用MySQL数据库的实现方法,它包括Web服务器集群、主从数据库服务器集群、Nginx反向代理服务器、页面缓存服务器和数据缓存服务器;用户向Nginx反向代理服务器发送连接请求,Nginx反向代理服务器将请求转发至Web服务器集群,Web服务器接收到该请求,首先在页面缓存服务器与数据缓存服务器中查找是否有相应的数据,若存在,则直接使用缓存数据;若不存在,则通过数据库连接工具DBConnection分析SQL语句判断读写操作并连接到相应的主从数据库服务器,主从数据库服务器进行相应的操作并将结果返回到Web服务器。
进一步,当Web服务器接收到来自反向代理服务器Nginx的请求时,Web服务器通过DBConnection分析SQL语句,判断对数据库所将要进行的操作类型,具体分为读操作与写操作两种情况:
(1)当DBConnection分析SQL语句得出是写操作时,会在主数据库服务器集群中随机选择一个处于闲置可用状态的主数据库服务器,执行数据的写入操作;
(2)当DBConnection分析SQL语句得出是读操作时,会在从数据库服务器集群中依次选择一个处于闲置可用状态的从数据库服务器,此处设置一个时序控制来防止脏读,即在分发数据时添加一个时序信息,用于确保数据查询的实时性。
进一步,写数据库操作工作流程如下:
(1)反向代理服务器接收用户发送的连接请求,并转发到Web服务器;
(2)Web服务器接收该请求,通过数据库连接工具DBConnection分析SQL语句得出是写操作;
(3)通过数据库连接字符串连接主数据库服务器集群,随机选择空闲的主数据库服务器;
(4)主数据库服务器进行相应的写操作,同时主数据库服务器生成相应的二进制日志,向主数据库服务器集群中其他主数据库服务器和从数据库服务器集群中的高性能从数据库服务器分发该二进制日志;
(5)当高性能的从数据库服务器接收到该二进制日志时,则产生相应的中继日志并根据该日志对自身进行相应的写操作,同时向其他从数据库服务器分发二进制日志,同步其数据库中的数据,当其他主数据库服务器接收到该二进制日志时,产生相应的中继日志并根据该日志对自身进行相应的写操作;
(6)从数据库服务器向Web服务器返回操作结果,Web服务器向Nginx反向代理服务器返回操作结果,最后Nginx反向代理器转发该相应结果给用户。
进一步,读数据库操作工作流程如下:
(1)反向代理服务器接收用户发送的连接请求,并转发到Web服务器;
(2)Web服务器接收该请求,通过数据库连接工具DBConnection分析SQL语句得出是读操作;
(3)Web服务器向页面缓存服务器与数据缓存服务器查询是否存在该数据;若不存在,则执行步骤(4),若存在,直接对缓存服务器的数据进行读操作,向用户返回读取结果;
(4)通过数据库连接字符串连接从数据库服务器集群,依次选择空闲的从数据库服务器,进行读操作,与序列号比较,判断数据是否存在而且正确;
(5)最后向用户返回读取结果,结果有且仅有两种情况,即数据不存在或者正确。
进一步,采用数据库服务器的主从结构,在同一集群中,首先接收到数据的数据库服务器成为主服务器,它负责将二进制日志分发给从服务器,从服务器进行数据同步;主从数据库服务器数据具有实时同步性,二者通过高速传输网络连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于徐州医科大学,未经徐州医科大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710059502.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于用户行为的日志过滤方法
- 下一篇:一种答案提供方法和装置