掌桥专利:专业的专利平台
掌桥专利
首页

基于nginx和Mycat的信息系统架构及其配置方法

文献发布时间:2023-06-19 12:02:28


基于nginx和Mycat的信息系统架构及其配置方法

技术领域

本发明涉及软件技术领域,特别涉及一种基于nginx和Mycat的信息系统架构及其配置方法。

背景技术

Nginx,发音为“engine X”,是一种高性能的HTTP(HTTP-Hypertext transferprotocol,超文本传输协议)和反向代理服务器,同时也是一种IMAP(Internet MessageAcess Protocol,互联网邮件访问协议)/POPS(Post Office Protocol3,即邮局协议的第3个版本)/SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)代理服务器。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率。

Mycat是一个强大的数据库中间件,不仅仅可以用作读写分离、分库分表以及容灾备份,而且可以用于多租户应用开发、云平台基本设施、使架构具备很强的适应性和灵活性,借助于Mycat智能优化模块,系统的数据访问瓶颈和热点一目了然,根据这些统计分析数据,可以自动或手工调整后端存储,将不同的表映射到不同的存储引擎上,而不用改变整个应用的代码。

在信息系统创建初期,一般都使用单台机器对台提供集中式服务,但是随着业务量越来越多,信息系统在性能上和稳定性上都有了更大的挑战,大量用户访问、高并发请求、数据库容灾等方面的问题日益突显。

发明内容

本发明针对上述问题,提供一种使用高性能的Http服务器及反向代理服务器,实现数据库自动故障切换,支持数据库读写分离的信息系统架构方案。

为实现以上目的,本发明通过以下技术方案予以实现:

一种基于nginx和Mycat的信息系统架构,包含至少一台反向代理nginx服务器、多台Http服务器、至少一台Mycat数据库中间件服务器、多台Mysql数据库服务器,其中:

反向代理nginx服务器配置包括,用于接收到客户端Http请求,向Http服务器发送Http请求;从Http服务器获取结果反馈,将结果反馈发送给客户;

Http服务器配置包括,接受反向代理nginx服务器发送的Http请求,将Http请求转发至Mycat数据库中间件服务器;获取Mycat数据库中间件服务器发送的结果反馈,并将结果反馈转发至反向代理nginx服务器;

Mycat数据库中间件服务器配置包括,接收所述Http服务器发送的数据请求,根据自身配置将数据请求处理为分发请求,并将分发请求分发给Mysql服务器,获取Mysql数据库服务器的反馈数据,将反馈数据处理为结果反馈,并将结果反馈发送至Http服务器;

Mysql数据库服务器配置包括,接收所述Mycat数据库中间件服务器发送的分发请求,并将反馈数据发送至给Mycat数据库中间件服务器。

进一步地,所述基于nginx和Mycat的信息系统架构还包括:执行器,配置包括向反向代理nginx服务器发送Http请求,并获取反向代理nginx服务器的结果反馈。

优选地,所述反向代理nginx服务器配置还包括:根据从所述测试执行器接收到的Http请求,获取到的所述Http请求对应的后端节点。

本发明第二个方面,一种基于nginx和Mycat的信息系统架构运行方式,包括以下步骤:

反向代理nginx服务器接收到客户端Http请求,向Http服务器发送Http请求;

Http服务器接受反向代理nginx服务器发送的Http请求,将Http请求转发至Mycat数据库中间件服务器;

Mycat数据库中间件服务器接收所述Http服务器发送的数据请求,根据自身配置将数据请求处理为分发请求,并将分发请求分发给Mysql服务器;

Mysql数据库服务器接收所述Mycat数据库中间件服务器发送的分发请求,并将反馈数据发送至给Mycat数据库中间件服务器;

Mycat数据库中间件服务器获取Mysql数据库服务器的反馈数据,将反馈数据处理为结果反馈,并将结果反馈发送至Http服务器;

Http服务器获取Mycat数据库中间件服务器发送的结果反馈,并将结果反馈转发至反向代理nginx服务器;

反向代理nginx服务器从Http服务器获取结果反馈,将结果反馈发送给客户。

优选地,所述一种基于nginx和Mycat的信息系统架构运行方式,还包括以下步骤:

反向代理nginx服务器根据从所述测试执行器接收到的Http请求,获取到的所述Http请求对应的后端节点。

本发明第三个方面,所述基于nginx和Mycat的信息系统配置方法,包括以下步骤:

在所述反向代理nginx服务器上安装部署nginx;

修改nginx.conf文件,进行优化配置;

根据所述Http服务器地址修改反向代理nginx服务器配置文件,配置集群负载均衡;

在所述多台Mysql数据库服务器上分别安装部署Mysql;

配置所述Mysql数据库服务器主从同步;

在所述Mycat数据库中间件服务器上安装部署Mycat;

根据所述Mysql服务器的配置,修改所述Mycat数据库中间件服务器中schema.xml文件,配置读写分离、故障切换。

进一步地,所述修改反向代理nginx服务器配置文件,配置集群负载均衡包括:

根据所述Http服务器配置和端口,修改后端转发地址以及代理服务器的主域名和端口号,重新启动。

进一步地,配置所述Mysql数据库服务器主从同步;

主库配置:创建专用于主从复制的用户;查看状态;

从库配置:复制主从复制地用户信息;开始复制;查看状态。

进一步地,所述根据所述Mysql服务器的配置,修改所述Mycat数据库中间件服务器中schema.xml文件,配置读写分离、故障切换,包括以下子步骤:

打开解压目录下conf文件夹中的schema.xml,根据Mysql数据库服务器的主从同步数据库关系进行修改;

打开所述schema.xml文件中配置的用户远程连接权限;

启动Mycat。

本发明通过以上方式,实现了nginx与Mycat的结合,使用户能够根据环境需要,快速形成软件产品架构体系。

与现有架构方案相比较,至少具有以下优势:

1、能够快速建立技术架构体系,所使用产品开源,成本低,易掌握。

2、简化了复杂功能的配置,减少了环境部署的时间开销。

3、引入Mycat数据库中间件,业务扩展性强,可以适应更为复杂的需求。

附图说明

图1是本发明实施例二一种基于nginx和Mycat的信息系统架构运行方式流程图;

图2是本发明实施例1一种基于nginx和Mycat的信息系统架构方案结构示意图。

具体实施方式

为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述发明。

实施例一

一种基于nginx和Mycat的信息系统架构,包含至少一台反向代理nginx服务器、多台Http服务器、至少一台Mycat数据库中间件服务器、多台Mysql数据库服务器,其中:

反向代理nginx服务器配置包括,用于接收到客户端Http请求,向Http服务器发送Http请求;从Http服务器获取结果反馈,将结果反馈发送给客户;

Http服务器配置包括,接受反向代理nginx服务器发送的Http请求,将Http请求转发至Mycat数据库中间件服务器;获取Mycat数据库中间件服务器发送的结果反馈,并将结果反馈转发至反向代理nginx服务器;

Mycat数据库中间件服务器配置包括,接收所述Http服务器发送的数据请求,根据自身配置将数据请求处理为分发请求,并将分发请求分发给Mysql服务器,获取Mysql数据库服务器的反馈数据,将反馈数据处理为结果反馈,并将结果反馈发送至Http服务器;

Mysql数据库服务器配置包括,接收所述Mycat数据库中间件服务器发送的分发请求,并将反馈数据发送至给Mycat数据库中间件服务器。

进一步地,所述基于nginx和Mycat的信息系统架构还包括:执行器,配置包括向反向代理nginx服务器发送Http请求,并获取反向代理nginx服务器的结果反馈。

优选地,所述反向代理nginx服务器配置还包括:根据从所述测试执行器接收到的Http请求,获取到的所述Http请求对应的后端节点。

实施例二

一种基于nginx和Mycat的信息系统架构运行方式,包括以下步骤:

反向代理nginx服务器接收到客户端Http请求,向Http服务器发送Http请求;

Http服务器接受反向代理nginx服务器发送的Http请求,将Http请求转发至Mycat数据库中间件服务器;

Mycat数据库中间件服务器接收所述Http服务器发送的数据请求,根据自身配置将数据请求处理为分发请求,并将分发请求分发给Mysql服务器;

Mysql数据库服务器配置包括,接收所述Mycat数据库中间件服务器发送的分发请求,并将反馈数据发送至给Mycat数据库中间件服务器;

Mycat数据库中间件服务器获取Mysql数据库服务器的反馈数据,将反馈数据处理为结果反馈,并将结果反馈发送至Http服务器;

Http服务器获取Mycat数据库中间件服务器发送的结果反馈,并将结果反馈转发至反向代理nginx服务器;

反向代理nginx服务器从Http服务器获取结果反馈,将结果反馈发送给客户。

优选地,所述一种基于nginx和Mycat的信息系统架构运行方式,还包括以下步骤:

反向代理nginx服务器根据从所述测试执行器接收到的Http请求,获取到的所述Http请求对应的后端节点。

实施例三

所述基于nginx和Mycat的信息系统配置方法,包括以下步骤:

步骤1:在所述反向代理nginx服务器上安装部署nginx;

具体的,根据所述服务器的操作系统下载对应的nginx安装包,进行解压安装即可。启动服务后查看进程是否存在,如存在即安装启动完成,如不存在即启动失败,进入nginx目录中的logs文件夹查看error.log日志文件。

步骤2:修改nginx.conf文件,进行优化配置;

常规的,设置工作进程数为cpu核心数,设置最大连接数为cpu*2048,设置客户端链接超时时间,设置编码格式,增大缓存区大小等。

步骤3:根据所述Http服务器地址修改反向代理nginx服务器配置文件,配置集群负载均衡;

具体的,根据所述Http服务器配置和端口,修改后端转发地址以及代理服务器的主域名和端口号,重新启动。

步骤4:在所述多台Mysql数据库服务器上分别安装部署Mysql;

具体的,根据所述Mysql数据库服务器系统和业务需要,下载对应版本的Mysql安装包,默认安装即可。

步骤5:配置所述Mysql数据库服务器主从同步;

具体的,

主库配置:

A:创建专用于主从复制的用户。执行语句;

Grant replication slave on *.* to ‘user’@’IP’ identified by‘password’;

Flush PRIVILEGES;

B:查看状态,show master status;

从库配置:

A:执行语句:

Change master to

Master_host = “IP”(主从复制用户的IP地址)

Master_user = “user”(主从复制用户)

Master_password = “password”(主从复制用户的密码)

Master_port = 3309(端口号)

Master_log_file = “Mysql-bin.000003”(所述主库配置中B显示的file文件名)

Master_log_pos= 604(所述主库配置中B显示的position大小)

B:开始复制,start slave;

C:查看状态,show slave status,出现两个yes则代表操作成功,如出现connecting,请检查网络、从库配置是否正确;

步骤6:在所述Mycat数据库中间件服务器上安装部署Mycat;

具体的,下载与所述Mycat数据库中间件服务器对应系统的适当版本Mycat,直接解压至目标目录即可。

步骤7:根据所述步骤4、步骤5中Mysql服务器的配置,修改所述Mycat数据库中间件服务器中schema.xml文件,配置读写分离、故障切换;

具体的,

A:打开所述步骤7解压目录下conf文件夹中的schema.xml,根据所述步骤5中数据库关系进行修改。

B:配置完成,打开所述schema.xml文件中配置的用户远程连接权限,执行:

Grant all privileges on *.* to ‘user’@’IP’ identified by ‘password’with grant option;;

Flush PRIVILEGES;

C:启动Mycat

本发明实现了nginx与Mycat的结合,使用户能够根据环境需要,快速形成软件产品架构体系;所使用产品开源,成本低,易掌握;简化了复杂功能的配置,减少了环境部署的时间开销;引入Mycat数据库中间件,业务扩展性强,可以适应更为复杂的需求。

以上显示和描述了本发明的基本原理和主要特征和优点。本领域技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都属于本发明要求保护的范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

相关技术
  • 基于nginx和Mycat的信息系统架构及其配置方法
  • 基于Nginx自研扩展模块自动拉取服务注册中心TCP配置方法
技术分类

06120113148530