CN111131451A - 业务处理系统及业务处理方法 - Google Patents
业务处理系统及业务处理方法 Download PDFInfo
- Publication number
- CN111131451A CN111131451A CN201911342734.7A CN201911342734A CN111131451A CN 111131451 A CN111131451 A CN 111131451A CN 201911342734 A CN201911342734 A CN 201911342734A CN 111131451 A CN111131451 A CN 111131451A
- Authority
- CN
- China
- Prior art keywords
- server
- application
- main
- application server
- standby
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 53
- 238000003672 processing method Methods 0.000 title claims description 17
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000010076 replication Effects 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 101001094649 Homo sapiens Popeye domain-containing protein 3 Proteins 0.000 description 1
- 101000608234 Homo sapiens Pyrin domain-containing protein 5 Proteins 0.000 description 1
- 101000578693 Homo sapiens Target of rapamycin complex subunit LST8 Proteins 0.000 description 1
- 102100027802 Target of rapamycin complex subunit LST8 Human genes 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请涉及一种业务处理系统及方法,所述系统包括:负载均衡服务器、主应用服务器、主应用服务器对应的备用应用服务器以及Redis集群;主应用服务器、备用应用服务器中部署有相同的应用程序,Redis集群对外提供一个虚拟互联网协议地址;负载均衡服务器接收外部终端发送的应用程序访问请求,将请求发送至主应用服务器;主应用服务器接收到应用程序访问请求时,执行应用程序访问请求对应的业务获得处理后数据,将处理后数据通过负载均衡服务器返回至外部终端;主应用服务器在接收到应用程序访问请求时,生成用户会话状态并发送至Redis集群进行缓存,当主应用服务器宕机时,启用备用应用服务器接替主应用服务器。通过上述系统能实现在多种不同场景下的高可用。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种业务处理系统及业务处理方法。
背景技术
高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指通过设计减少系统不能提供服务的时间。
现有技术中的高可用部署存在多种实现方案,主要可分为硬件层面实现和软件层面实现。然而现有技术中的高可用部署实现方案大多只考虑到单一场景,不再能满足用户日益提高的对于业务工作流不中断的高标准要求。
发明内容
基于此,有必要针对上述技术问题,提供一种业务处理系统及业务处理方法。
一种业务处理系统,包括:负载均衡服务器、主应用服务器、所述主应用服务器对应的备用应用服务器以及Redis集群;
其中,所述主应用服务器、所述备用应用服务器中部署有相同的应用程序,所述Redis集群对外提供一个虚拟互联网协议地址;
所述负载均衡服务器接收外部终端发送的应用程序访问请求,将所述请求发送至所述主应用服务器;所述主应用服务器接收到所述应用程序访问请求时,执行所述应用程序访问请求对应的业务获得处理后数据,将所述处理后数据通过所述负载均衡服务器返回至所述外部终端;所述主应用服务器在接收到所述应用程序访问请求时,生成用户会话状态并发送至所述Redis集群进行缓存,当所述主应用服务器宕机时,启用所述备用应用服务器接替所述主应用服务器。
在一个实施例中,将两个或者两个以上应用程序部署在主应用服务器和主应用服务器对应的备用应用服务器中,两个或者两个以上应用程序对外提供同一虚拟互联网协议地址。
在一个实施例中,将n个应用程序部署在n组主应用服务器和主应用服务器对应的备用应用服务器中,每一组主应用服务器和主应用服务器对应的备用应用服务器中对应部署一个应用程序,n个应用程序对外提供不同的虚拟互联网协议地址。
在一个实施例中,上述业务处理系统还包括主用MYSQL数据库主机和至少一个备用MYSQL数据库主机,主用MYSQL数据库主机和备用MYSQL数据库主机分别与负载均衡服务器连接;在本实施例中,主用MYSQL数据库主机和备用MYSQL数据库主机采用MHA的方式搭建;主用MYSQL数据库主机和备用MYSQL数据库主机用于存储业务配置数据以及在外部终端访问应用程序时产生的业务数据,当主用MYSQL数据库主机宕机时,启用一个备用MYSQL数据库主机接替主用MYSQL数据库主机。
在一个实施例中,主用MYSQL数据库主机和备用MYSQL数据库主机之间采用主主复制的方式进行数据同步。
在一个实施例中,主应用服务器通过所述负载均衡服务器从所述主用MYSQL数据库主机中获取的业务配置数据,将所述业务配置数据发送至所述Redis集群进行缓存。
在一个实施例中,负载均衡服务器包括主Nginx服务器和从Nginx服务器,所述主Nginx服务器和所述从Nginx服务器中均部署有keepalived应用程序;当通过所述keepalived应用程序确定所述主Nginx服务器的状态异常时,启用所述从Nginx服务器来接替所述状态异常的主Nginx服务器。
在一个实施例中,主Nginx服务器和从Nginx服务器的负载均衡方式包括:互联网协议地址哈希负载均衡方式,轮询加权负载均衡方式,或者主备负载均衡方式。
在一个实施例中,上述业务处理系统还包括代理服务器,代理服务器分别与负载服务器和所述外部终端连接。
一种基于上述业务处理系统的业务处理方法,所述方法包括:
所述负载均衡服务器接收外部终端发送的应用程序访问请求,将所述请求发送至所述主应用服务器;
所述主应用服务器接收到所述应用程序访问请求时,执行所述应用程序访问请求对应的业务获得处理后数据,将所述处理后数据通过所述负载均衡服务器返回至所述外部终端;所述主应用服务器在接收到所述应用程序访问请求时,生成用户会话状态并发送至所述Redis集群进行缓存;
当所述主应用服务器宕机时,启用所述备用应用服务器接替所述主应用服务器。
上述业务处理系统及业务处理方法,通过在硬件层面部署主应用服务器和备用应用服务器、Redis集群以及负载均衡服务器,以及软件层面在主应用服务器和备用应用服务器中部署相同的应用程序,当外部终端请求访问应用服务器中的应用程序时,通过负载均衡服务器对应用服务器的进行负载,将外部终端发送的请求发送至主应用服务器,并将主应用服务器处理请求对应的处理后数据返回外部终端;同时采用Redis集群缓存外部终端请求访问应用程序时主应用程序服务器发送的用户会话状态。上述系统中,主应用服务器宕机时启用备用应用服务器接替完成外部终端请求访问应用程序的相应业务,实现应用服务器的高可用;而用于缓存的Redis集群对外提供一个互联网协议地址,实现了业务处理系统缓存数据的高可用;通过上述系统能实现在多种不同场景下的高可用,如应用服务器和缓存同时高并发的场景。
附图说明
图1为一个实施例中业务处理系统的架构示意图;
图2为另一个实施例中业务处理系统的架构示意图;
图3为另一个实施例中业务处理系统的架构示意图;
图4为一个具体实施例中业务处理系统的架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供一种业务处理系统,一个实施例中,如图1所示,上述业务处理系统包括负载均衡服务器110、主应用服务器120、主应用服务器对应的备用应用服务器130、以及Redis集群140;其中,主应用服务器120、备用应用服务器130中部署有相同的应用程序,Redis集群140对外提供一个虚拟互联网协议地址。
一个实施例中,在处理业务请求时,上述业务处理系统中的负载均衡服务器110接收外部终端发送的应用程序访问请求,将并将应用程序请求发送至主应用服务器120;主应用服务器120接收到应用程序访问请求时,执行应用程序访问请求对应的业务获得处理后数据,将处理后数据通过负载均衡服务器返回至外部终端;主应用服务器120在接收到应用程序访问请求时,生成用户会话状态并发送至Redis集群140进行缓存,当主应用服务器120宕机时,启用备用应用服务器130接替主应用服务器120。
其中,应用服务器中安装有应用程序,与外部终端通信,用于为终端用户提供业务服务,本实施例中,当用户请求访问某个应用程序时,用户通过外部终端发起的请求将被发送至应用服务器进行处理,应用服务器根据应用程序访问请求执行相应的处理之后,将获得的数据反馈至外部终端。在本实施例中,提供了主应用服务器和对应的备用应用服务器,在主应用服务器和备用应用服务器中安装相同的应用程序,主应用服务器和对应的备用应用服务器均可以处理相同的业务访问请求,但是当主应用服务器可以正常使用时,负载均衡服务器将业务访问请求发送至主应用服务器进行处理。
在一个实施例中,上述业务处理系统包括至少一个主应用服务器,以及至少一个对应的备用应用服务器。一个业务处理系统可能需要提供多种业务,因此可能需要不同的应用程序来处理需求的业务,可以将多个应用程序安装在一组对应的主应用服务器和备用应用服务器中,也可以在一组应用服务器中仅安装一个应用程序,即上述系统包括多组主应用服务器和备用应用服务器。当用户通过外部终端发起访问应用服务器中的应用程序时,需要根据应用程序访问请求对应的应用程序,该应用程序访问请求将会发送到安装有该应用程序的应用服务器中进行处理。
更进一步地,本实施例中,应用服务器与外部终端之间的通信通过负载均衡服务器实现,负载均衡服务器负责请求接收和分发;进一步地,用户通过外部终端发起访问应用程序的请求时,由负载均衡服务器接收请求,根据该应用程序访问请求对应访问的应用程序,将应用程序访问请求转发至安装有该应用程序的应用服务器进行处理;在应用服务器执行相应的处理之后获得的业务数据,通过负载均衡服务器转发至外部终端。
Redis(Remote Dictionary Server),远程字典服务,是一个开源的使用ANSI(一种字符代码)C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API(Application Programming Interface,应用程序接口);集群通信系统是一种用于集团调度指挥通信的移动通信系统,主要应用在专业移动通信领域;本实施例中,采用Redis作为缓存服务器,将业务处理系统中产生的用户会话状态以及配置信息缓存至Redis中,使用Redis缓存的优势在于,可以提升数据存取的速度。
进一步地,用户会话状态表示的是在外部终端访问应用服务器中用户当前的会话状态,在用户一次登陆的过程中是需要一致的;将用户会话状态(Session信息)通过服务器进行缓存时,如果出现缓存用户会话状态的服务器宕机时,会导致用户的业务中断,因此需要对缓存用户会话状态的服务器进行高可用部署,防止存储用户会话状态的服务器挂掉导致的业务中断,在本实施例中,采用Redis集群实现对用户会话状态的缓存。
Redis集群中包括主节点和备用节点,主节点和备用节点中都缓存有用户会话状态,当主节点宕机时可以采用备用节点接替主节点,保证业务处理系统的正常工作。一个实施例中,Redis集群包括至少一个主节点和至少一个对应的备用节点,Redis集群中的主节点和备用节点均为Redis服务器。
虚拟互联网协议地址即虚拟IP(Internet Protocol,网际互连协议)地址,虚拟IP地址是一个不与特定计算机或一个计算机中的网络接口卡(NIC)相连的IP地址,数据包被发送到这个虚拟IP地址,但是所有的数据还是经过真实的网络接口。在一个实施例中,虚拟IP地址由代理服务器提供。本实施例中,Redis集群对外提供统一的一个虚拟IP地址,这样当一台Redis服务器(Redis集群的主节点)宕机之后,应用服务器可以无感知的使用另外的Redis服务器(Redis集群的备用节点)进行数据缓存。通过上述方法对业务系统的缓存服务器进行部署,可以实现缓存数据的高可用。
上述实施例中的业务访问系统,针对应用服务器和用于缓存的服务器均进行了高可用的部署,主应用服务器宕机时,可以采用备用应用服务器接替主应用服务器进行工作;Redis集群中包括至少一个主节点和至少一个对应的备用节点,当Redis集群中的主节点宕机时,可以启用对应的备用节点接替主节点,保证业务处理系统的正常工作;同时采用了负载均衡服务器对各应用服务器进行负载,可动态扩展和配置服务器,当需要新增或者挂起应用服务器时,只需要修改负载均衡服务器中的配置,保存之后重新加载配置即可生效。因此,上述业务处理系统在多种不同场景下均可实现高可用。
上述业务处理系统,通过在硬件层面部署主应用服务器和备用应用服务器、Redis集群以及负载均衡服务器,以及软件层面在主应用服务器和备用应用服务器中部署相同的应用程序,当外部终端请求访问应用服务器中的应用程序时,通过负载均衡服务器对应用服务器的进行负载,将外部终端发送的请求发送至主应用服务器,并将主应用服务器处理请求对应的处理后数据返回外部终端;同时采用Redis集群缓存外部终端请求访问应用程序时主应用程序服务器发送的用户会话状态。上述系统中,主应用服务器宕机时启用备用应用服务器接替完成外部终端请求访问应用程序的相应业务,实现应用服务器的高可用;而用于缓存的Redis集群对外提供一个互联网协议地址,实现了业务处理系统缓存数据的高可用;通过上述系统能实现在多种不同场景下的高可用,如应用服务器和缓存同时高并发的场景。
进一步地,在一个实施例中,将两个或者两个以上应用程序部署在主应用服务器和主应用服务器对应的备用应用服务器中,两个或者两个以上应用程序对外提供同一虚拟互联网协议地址。在另一个实施例中,将n个应用程序部署在n组主应用服务器和主应用服务器对应的备用应用服务器中,每一组主应用服务器和主应用服务器对应的备用应用服务器中对应部署一个应用程序,n个应用程序对外提供不同的虚拟互联网协议地址。
业务处理系统中部署多个不同的应用程序时,本实施例中提供两种部署方式,第一种是将各应用程序部署在同一个应用服务器(包括主应用服务器和对应的备用应用服务器)中;进一步地,这一部署方式在部署过程中可以将多个应用程序部署在一个主应用服务器中,再将主应用服务器中的应用程序复制拷贝到对应的备用应用服务器中,在这一部署方式中,各应用程序对外提供同一虚拟互联网协议地址,可以理解地,主应用服务器和备用应用服务器对外提供的虚拟互联网协议地址可以是相同的。第二种是将不同的应用程序分别部署在不同的应用服务器(包括主应用服务器和对应的备用应用服务器)中;进一步地,这一部署方式在部署过程中可以将多个应用程序分别部署至不同的主应用服务器中,然后分别将各主应用服务器中的应用程序复制拷贝至各自对应的备用应用服务器中,在这一部署方式中,各应用程序(应用服务器)对外提供不同的虚拟互联网协议地址,可以理解地的每一应用程序(一组应用服务器)对应一个唯一的虚拟互联网协议地址,而安装有相同应用程序的主应用服务器和备用应用服务器对外提供的虚拟互联网协议地址仍可以是相同的。
进一步地,在将不同应用程序部署在不同的应用服务器的一个实施例中,负载均衡服务器在接收外部终端的应用程序访问请求时,根据接收的应用程序访问请求对应请求访问的应用程序,将应用程序访问请求转发至安装有该应用程序的主应用服务器;当主应用服务器宕机时,负载均衡服务器自动将应用程序访问请求转发至安装有该应用程序的备用应用服务器。
在一个实施例中,负载均衡服务器采用Nginx服务器实现;Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务;一个实施例中,在服务器上搭建Nginx的环境,同时配置Nginx负载的参数,以实现请求分发负载的功能。
进一步地,对于负载均衡服务器也可以采用高可用的部署方式;在一个实施例中,负载均衡服务器包括主Nginx服务器和从Nginx服务器,主Nginx服务器和从Nginx服务器中均部署有keepalived应用程序;当通过keepalived应用程序确定主Nginx服务器的状态异常时,启用从Nginx服务器来接替状态异常的主Nginx服务器。一个实施例中,负载均衡服务器包括至少一个主Nginx服务器和至少一个从Nginx服务器。
其中,keepalived应用程序的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。本实施例中,对于部署的主Nginx服务器和从Nginx服务器,采用keepalived应用程序实现故障或异常的检测,当通过keepalived应用程序检测到主Nginx服务器发生故障时,通过keepalived应用程序将当前工作的负载均衡服务器切换为从Nginx服务器,如此可以保证在主Nginx服务器发生故障或者异常时,不会影响业务处理系统的业务处理,仍可以保证正常工作。
进一步地,在一个实施例中,主Nginx服务器和从Nginx服务器的负载均衡方式包括:互联网协议地址哈希负载均衡方式,轮询加权负载均衡方式,或者主备负载均衡方式。
其中,互联网协议地址哈希负载均衡方式即指的是Nginx中的IP_hash技术,IP_hash能够将某个IP地址发来的请求定向到同一台后端web机器中,如此可以保证该IP地址下的客户机和某一后端web机器可以建立起稳固的session;当本实施例中采用IP_hash的方式实现负载均衡时,即Nginx服务器接收同一IP地址对应的外部终端发送的应用程序访问请求时,固定将该应用程序访问请求转发至同一应用服务器,以建立稳固的用户会话状态。IP_hash负载均衡方式能够让同一外部终端在相当长的一段时间内只访问固定的后端的某台真实的应用服务器,这样会话就会得以保持,在网站页面进行注册或登录的时候就不会在安装有相同应用程序的主应用服务器和备用应用服务器之间跳来跳去,也不会出现登录一次的网站又提醒重新登录的情况。
轮询加权负载均衡方式的原理为:根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求;轮询加权算法的结果为生成一个服务器序列,每当有请求到来时,就依次从该序列中取出下一个服务器用于处理该请求。当在本实施例中Nginx服务器采用轮询加权的方式实现负载均衡时,Nginx服务器在接收到外部终端发送的应用程序访问请求时,将根据各应用服务器的当前处理能力确定出最优的服务器对该应用程序访问请求进行处理。其中,可以根据实际情况选择负载均衡服务器的负载均衡方式;在其它实施例中,也可以采用其它方式实现负载均衡。
在一个实施例中,上述业务处理系统还包括代理服务器,代理服务器分别与负载服务器和外部终端连接。
代理服务器(Proxy Server)的功能是代理网络用户去取得网络信息;形象地说,它是网络信息的中转站,是个人网络和Internet网络服务商之间的中间代理机构,负责转发合法的网络信息,对转发进行控制和登记。在本实施例中,在外部终端和负载服务器之间部署代理服务器,通过代理服务器实现应用程序访问请求和应用服务器执行处理后获得的处理后数据的转发。在一个实施例中,负载均衡服务器通过代理服务器进行代理,实现虚拟互联网协议地址的分配。
进一步地,上述业务处理系统还包括数据库,采用MySQL数据库实现;在一个实施例中,如图2所示,上述系统中的MySQL数据库包括主用MYSQL数据库主机和至少一个备用MYSQL数据库主机,主用MYSQL数据库主机和备用MYSQL数据库主机分别与负载均衡服务器连接;在本实施例中,主用MYSQL数据库主机和备用MYSQL数据库主机采用MHA的方式搭建;主用MYSQL数据库主机和备用MYSQL数据库主机用于存储业务配置数据以及在外部终端访问应用程序时产生的业务数据,当主用MYSQL数据库主机宕机时,启用一个备用MYSQL数据库主机接替主用MYSQL数据库主机。
其中,MYSQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。MySQL数据库是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。本实施例中,采用MySQL数据库作为上述业务处理系统中的数据库,用于存储业务配置数据以及在外部终端访问应用程序时产生的业务数据。
本实施例中,对于MySQL数据库采用MHA(Master High Availability)高可用的方式进行搭建,各MySQL数据库主机之间采用复制的方式实现数据同步,进一步地,可以采用主主复制的策略进行数据同步。
所谓主主复制,其实也就是两两服务器之间互做主从复制,每台master(主服务器)既是master,又是另一台服务器的slave(从服务器)。这样,任何一方所做的变更,都会通过复制应用到另外一方的数据库中。其中,主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点;MySQL默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。其中,MySQL数据库主机之间实现主主复制的配置方式可以由任意一种方式实现。
进一步地,在一个实施例中,主应用服务器通过负载均衡服务器从主用MYSQL数据库主机中获取的业务配置数据,将业务配置数据发送至Redis集群进行缓存。
本实施例中,使用Nginx服务器对主用MySQL数据库主机和备用MySQL数据库主机进行代理,以实现负载功能,当主用MYSQL数据库主机或服务发生任何故障时,能够立马使用其他主机来工作,并且能保证数据的一致性。通过上述方式进行部署,当主用MySQL数据库主机不可用时,启用备用MySQL数据库主机仍可以保证正常的业务工作流。在故障恢复之后,能够通过MySQL数据库的二进制日志恢复故障服务器中的数据,保证数据的一致性,避免重要数据丢失的风险,实现高可用。
进一步地,在本实施例中,由Nginx服务器从MySQL数据库主机中获取业务配置数据发送至Redis集群中进行缓存;采用Redis集群缓存业务配置数据可以提升业务配置数据存取的速度。
上述系统采用Nginx服务器对MySQL数据库主机进行负载,增强了数据库访问的健壮性;同时,MySQL数据库主机本身采用MHA的方式实现主主复制的策略对数据进行备份,增强了数据库数据的安全性和一致性。
如图4所示为一个具体实施例中业务处理系统的架构图;在本实施例中,负载均衡服务器采用主Nginx服务器和备用Nginx服务器实现,应用服务器采用主应用服务器和备用应用服务器实现,采用Redis集群实现对业务访问请求过程中产生的用户会话状态以及配置数据等,数据库采用多个MySQL数据库主机实现;上述业务处理系统可以在多种不同场景下实现高可用,如数据库高并发、应用服务器高并发和缓存高并发的场景。在一个具体实施例中,将上述业务处理系统应用于医疗系统。
在一个实施例中,本申请还提供一种基于上述业务处理系统的业务处理方法,该方法包括:负载均衡服务器接收外部终端发送的应用程序访问请求,将请求发送至主应用服务器;主应用服务器接收到应用程序访问请求时,执行应用程序访问请求对应的业务获得处理后数据,将处理后数据通过负载均衡服务器返回至外部终端;主应用服务器在接收到应用程序访问请求时,生成用户会话状态并发送至Redis集群进行缓存;当主应用服务器宕机时,启用备用应用服务器接替主应用服务器。
通过上述业务处理方法,在硬件层面部署主应用服务器和备用应用服务器、Redis集群以及负载均衡服务器,以及软件层面在主应用服务器和备用应用服务器中部署相同的应用程序,当外部终端请求访问应用服务器中的应用程序时,通过负载均衡服务器对应用服务器的进行负载,将外部终端发送的请求发送至主应用服务器,并将主应用服务器处理请求对应的处理后数据返回外部终端;同时采用Redis集群缓存外部终端请求访问应用程序时主应用程序服务器发送的用户会话状态;当主应用服务器宕机时启用备用应用服务器接替完成外部终端请求访问应用程序的相应业务,实现应用服务器的高可用;而用于缓存的Redis集群对外提供一个互联网协议地址,实现了业务处理系统缓存数据的高可用;通过上述方法能实现在多种不同场景下的高可用,如应用服务器和缓存同时高并发的场景。
在一个实施例中,上述业务处理方法还包括:将两个或者两个以上应用程序部署在主应用服务器和主应用服务器对应的备用应用服务器中,两个或者两个以上应用程序对外提供同一虚拟互联网协议地址。
在一个实施例中,上述业务处理方法还包括:将n个应用程序部署在n组主应用服务器和主应用服务器对应的备用应用服务器中,每一组主应用服务器和主应用服务器对应的备用应用服务器中对应部署一个应用程序,其中,n个应用程序对外提供不同的虚拟互联网协议地址。
在一个实施例中,上述业务处理方法还包括:主用MYSQL数据库主机和备用MYSQL数据库主机采用MHA的方式搭建;主用MYSQL数据库主机和备用MYSQL数据库主机用于存储业务配置数据以及在外部终端访问应用程序时产生的业务数据,当主用MYSQL数据库主机宕机时,启用一个备用MYSQL数据库主机接替主用MYSQL数据库主机。
在一个实施例中,上述业务处理方法还包括:主用MYSQL数据库主机和备用MYSQL数据库主机之间采用主主复制的方式进行数据同步。
在一个实施例中,上述业务处理方法还包括:主应用服务器通过负载均衡服务器从主用MYSQL数据库主机中获取的业务配置数据,将业务配置数据发送至Redis集群进行缓存。
在一个实施例中,上述业务处理方法还包括:通过keepalived应用程序确定主Nginx服务器的状态异常时,启用从Nginx服务器来接替状态异常的主Nginx服务器。
在一个实施例中,上述业务处理方法还包括:主Nginx服务器和从Nginx服务器的负载均衡方式包括:互联网协议地址哈希负载均衡方式,轮询加权负载均衡方式,或者主备负载均衡方式。
其中,关于上述业务处理方法的具体限定可以参见上文中对于业务处理系统的限定,在此不再赘述。
本领域普通技术人员可以理解,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种业务处理系统,包括负载均衡服务器、主应用服务器、所述主应用服务器对应的备用应用服务器、以及Redis集群;
其中,所述主应用服务器、所述备用应用服务器中部署有相同的应用程序,所述Redis集群对外提供一个虚拟互联网协议地址;
所述负载均衡服务器接收外部终端发送的应用程序访问请求,将所述请求发送至所述主应用服务器;所述主应用服务器接收到所述应用程序访问请求时,执行所述应用程序访问请求对应的业务获得处理后数据,将所述处理后数据通过所述负载均衡服务器返回至所述外部终端;所述主应用服务器在接收到所述应用程序访问请求时,生成用户会话状态并发送至所述Redis集群进行缓存,当所述主应用服务器宕机时,启用所述备用应用服务器接替所述主应用服务器。
2.根据权利要求1所述的系统,其特征在于,将两个或者两个以上应用程序部署在所述主应用服务器和所述主应用服务器对应的备用应用服务器中,所述两个或者两个以上应用程序对外提供同一虚拟互联网协议地址。
3.根据权利要求1所述的系统,其特征在于,将n个应用程序部署在n组所述主应用服务器和所述主应用服务器对应的备用应用服务器中,每一组所述主应用服务器和所述主应用服务器对应的备用应用服务器中对应部署一个所述应用程序,所述n个应用程序对外提供不同的虚拟互联网协议地址。
4.根据权利要求1所述的系统,其特征在于,所述系统还包括主用MYSQL数据库主机和至少一个备用MYSQL数据库主机,所述主用MYSQL数据库主机和所述备用MYSQL数据库主机分别与所述负载均衡服务器连接;
所述主用MYSQL数据库主机和所述备用MYSQL数据库主机采用MHA的方式搭建;所述主用MYSQL数据库主机和所述备用MYSQL数据库主机用于存储业务配置数据以及在所述外部终端访问应用程序时产生的业务数据,当所述主用MYSQL数据库主机宕机时,启用一个所述备用MYSQL数据库主机接替所述主用MYSQL数据库主机。
5.根据权利要求4所述的系统,其特征在于,所述主用MYSQL数据库主机和所述备用MYSQL数据库主机之间采用主主复制的方式进行数据同步。
6.根据权利要求4所述的系统,其特征在于,所述主应用服务器通过所述负载均衡服务器从所述主用MYSQL数据库主机中获取的业务配置数据,将所述业务配置数据发送至所述Redis集群进行缓存。
7.根据权利要求1所述的系统,其特征在于,所述负载均衡服务器包括主Nginx服务器和从Nginx服务器,所述主Nginx服务器和所述从Nginx服务器中均部署有keepalived应用程序;当通过所述keepalived应用程序确定所述主Nginx服务器的状态异常时,启用所述从Nginx服务器来接替所述状态异常的主Nginx服务器。
8.根据权利要求7所述的系统,其特征在于,所述主Nginx服务器和所述从Nginx服务器的负载均衡方式包括:互联网协议地址哈希负载均衡方式,轮询加权负载均衡方式,或者主备负载均衡方式。
9.根据权利要求1所述的系统,其特征在于,还包括代理服务器,所述代理服务器分别与所述负载服务器和所述外部终端连接。
10.一种基于如权利要求1至9任意一项所述的业务处理系统的业务处理方法,其特征在于,所述方法包括:
所述负载均衡服务器接收外部终端发送的应用程序访问请求,将所述请求发送至所述主应用服务器;
所述主应用服务器接收到所述应用程序访问请求时,执行所述应用程序访问请求对应的业务获得处理后数据,将所述处理后数据通过所述负载均衡服务器返回至所述外部终端;所述主应用服务器在接收到所述应用程序访问请求时,生成用户会话状态并发送至所述Redis集群进行缓存;当所述主应用服务器宕机时,启用所述备用应用服务器接替所述主应用服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911342734.7A CN111131451A (zh) | 2019-12-23 | 2019-12-23 | 业务处理系统及业务处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911342734.7A CN111131451A (zh) | 2019-12-23 | 2019-12-23 | 业务处理系统及业务处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111131451A true CN111131451A (zh) | 2020-05-08 |
Family
ID=70501549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911342734.7A Pending CN111131451A (zh) | 2019-12-23 | 2019-12-23 | 业务处理系统及业务处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131451A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949444A (zh) * | 2020-06-24 | 2020-11-17 | 武汉烽火众智数字技术有限责任公司 | 一种基于分布式服务集群的数据备份与恢复系统及方法 |
CN111966488A (zh) * | 2020-07-17 | 2020-11-20 | 北京思特奇信息技术股份有限公司 | 接口网关多中心应用系统和方法 |
CN112035250A (zh) * | 2020-08-25 | 2020-12-04 | 上海中通吉网络技术有限公司 | 高可用局域网服务管理方法、设备及部署架构 |
CN112118294A (zh) * | 2020-08-20 | 2020-12-22 | 山东浪潮通软信息科技有限公司 | 一种基于服务端集群的请求处理方法、设备及介质 |
CN112929221A (zh) * | 2021-03-02 | 2021-06-08 | 浪潮云信息技术股份公司 | 一种实现云服务产品主备容灾的方法 |
CN113239020A (zh) * | 2021-06-07 | 2021-08-10 | 中国农业银行股份有限公司 | 数据库分配方法、装置、系统、设备、介质及产品 |
CN113742066A (zh) * | 2021-08-09 | 2021-12-03 | 联通沃悦读科技文化有限公司 | 一种用于服务器集群的负载均衡系统和方法 |
CN113783904A (zh) * | 2020-06-09 | 2021-12-10 | 比亚迪股份有限公司 | 负载均衡方法、路由服务器及负载均衡系统 |
CN113950165A (zh) * | 2021-12-03 | 2022-01-18 | 中国电信集团系统集成有限责任公司 | 智能组网平台组网设备连接方法及装置 |
CN114070716A (zh) * | 2021-11-29 | 2022-02-18 | 中国工商银行股份有限公司 | 应用程序的管理系统、应用程序的管理方法以及服务器 |
CN114090346A (zh) * | 2021-10-26 | 2022-02-25 | 珠海大横琴科技发展有限公司 | 一种数据处理方法和装置 |
CN115426249A (zh) * | 2022-11-02 | 2022-12-02 | 飞天诚信科技股份有限公司 | 一种Redis主从架构的高可用解决方法及装置 |
CN117290385A (zh) * | 2023-11-27 | 2023-12-26 | 成都天用唯勤科技股份有限公司 | 基于交易查询应用层分离的数据读写方法、装置及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140304393A1 (en) * | 2013-04-06 | 2014-10-09 | Citrix Systems, Inc. | Systems and methods for exporting application details using appflow |
CN104765889A (zh) * | 2015-04-30 | 2015-07-08 | 北京奇虎科技有限公司 | 基于数据库高可用框架的切换方法及装置 |
CN108200124A (zh) * | 2017-12-12 | 2018-06-22 | 武汉烽火众智数字技术有限责任公司 | 一种高可用应用程序架构及构建方法 |
CN109815385A (zh) * | 2019-01-31 | 2019-05-28 | 无锡火球普惠信息科技有限公司 | 基于app客户端的爬虫及爬取方法 |
CN110442610A (zh) * | 2019-08-05 | 2019-11-12 | 中国工商银行股份有限公司 | 负载均衡的方法、装置、计算设备以及介质 |
CN110502332A (zh) * | 2018-05-16 | 2019-11-26 | 北京理工大学 | 一种服务器高可用的架构方法 |
-
2019
- 2019-12-23 CN CN201911342734.7A patent/CN111131451A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140304393A1 (en) * | 2013-04-06 | 2014-10-09 | Citrix Systems, Inc. | Systems and methods for exporting application details using appflow |
CN104765889A (zh) * | 2015-04-30 | 2015-07-08 | 北京奇虎科技有限公司 | 基于数据库高可用框架的切换方法及装置 |
CN108200124A (zh) * | 2017-12-12 | 2018-06-22 | 武汉烽火众智数字技术有限责任公司 | 一种高可用应用程序架构及构建方法 |
CN110502332A (zh) * | 2018-05-16 | 2019-11-26 | 北京理工大学 | 一种服务器高可用的架构方法 |
CN109815385A (zh) * | 2019-01-31 | 2019-05-28 | 无锡火球普惠信息科技有限公司 | 基于app客户端的爬虫及爬取方法 |
CN110442610A (zh) * | 2019-08-05 | 2019-11-12 | 中国工商银行股份有限公司 | 负载均衡的方法、装置、计算设备以及介质 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113783904A (zh) * | 2020-06-09 | 2021-12-10 | 比亚迪股份有限公司 | 负载均衡方法、路由服务器及负载均衡系统 |
CN111949444A (zh) * | 2020-06-24 | 2020-11-17 | 武汉烽火众智数字技术有限责任公司 | 一种基于分布式服务集群的数据备份与恢复系统及方法 |
CN111966488A (zh) * | 2020-07-17 | 2020-11-20 | 北京思特奇信息技术股份有限公司 | 接口网关多中心应用系统和方法 |
CN111966488B (zh) * | 2020-07-17 | 2024-04-23 | 北京思特奇信息技术股份有限公司 | 接口网关多中心应用系统和方法 |
CN112118294A (zh) * | 2020-08-20 | 2020-12-22 | 山东浪潮通软信息科技有限公司 | 一种基于服务端集群的请求处理方法、设备及介质 |
CN112035250A (zh) * | 2020-08-25 | 2020-12-04 | 上海中通吉网络技术有限公司 | 高可用局域网服务管理方法、设备及部署架构 |
CN112929221A (zh) * | 2021-03-02 | 2021-06-08 | 浪潮云信息技术股份公司 | 一种实现云服务产品主备容灾的方法 |
CN113239020A (zh) * | 2021-06-07 | 2021-08-10 | 中国农业银行股份有限公司 | 数据库分配方法、装置、系统、设备、介质及产品 |
CN113742066A (zh) * | 2021-08-09 | 2021-12-03 | 联通沃悦读科技文化有限公司 | 一种用于服务器集群的负载均衡系统和方法 |
CN114090346A (zh) * | 2021-10-26 | 2022-02-25 | 珠海大横琴科技发展有限公司 | 一种数据处理方法和装置 |
CN114070716B (zh) * | 2021-11-29 | 2024-02-13 | 中国工商银行股份有限公司 | 应用程序的管理系统、应用程序的管理方法以及服务器 |
CN114070716A (zh) * | 2021-11-29 | 2022-02-18 | 中国工商银行股份有限公司 | 应用程序的管理系统、应用程序的管理方法以及服务器 |
CN113950165A (zh) * | 2021-12-03 | 2022-01-18 | 中国电信集团系统集成有限责任公司 | 智能组网平台组网设备连接方法及装置 |
CN113950165B (zh) * | 2021-12-03 | 2022-11-08 | 中电信数智科技有限公司 | 智能组网平台组网设备连接方法及装置 |
CN115426249B (zh) * | 2022-11-02 | 2023-03-24 | 飞天诚信科技股份有限公司 | 一种Redis主从架构的高可用解决方法及装置 |
CN115426249A (zh) * | 2022-11-02 | 2022-12-02 | 飞天诚信科技股份有限公司 | 一种Redis主从架构的高可用解决方法及装置 |
CN117290385A (zh) * | 2023-11-27 | 2023-12-26 | 成都天用唯勤科技股份有限公司 | 基于交易查询应用层分离的数据读写方法、装置及介质 |
CN117290385B (zh) * | 2023-11-27 | 2024-01-19 | 成都天用唯勤科技股份有限公司 | 基于交易查询应用层分离的数据读写方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111131451A (zh) | 业务处理系统及业务处理方法 | |
US11360854B2 (en) | Storage cluster configuration change method, storage cluster, and computer system | |
EP3490224B1 (en) | Data synchronization method and system | |
US11320991B2 (en) | Identifying sub-health object storage devices in a data storage system | |
CN111615066B (zh) | 一种基于广播的分布式微服务注册及调用方法 | |
US8954391B2 (en) | System and method for supporting transient partition consistency in a distributed data grid | |
CN106534328B (zh) | 节点连接方法及分布式计算系统 | |
EP2923272B1 (en) | Distributed caching cluster management | |
CN111274310A (zh) | 一种分布式数据缓存方法及系统 | |
US9262323B1 (en) | Replication in distributed caching cluster | |
JP7270755B2 (ja) | 分散システムでのメタデータルーティング | |
CN109213571B (zh) | 一种内存共享方法、容器管理平台及计算机可读存储介质 | |
US20150169718A1 (en) | System and method for supporting persistence partition discovery in a distributed data grid | |
CN104580226A (zh) | 一种共享会话数据的系统和方法 | |
CN104468651B (zh) | 分布式多副本数据存储方法及装置 | |
CN110474802B (zh) | 设备切换方法及装置、服务系统 | |
US9760370B2 (en) | Load balancing using predictable state partitioning | |
CN112165502B (zh) | 服务发现系统、方法及第二服务器 | |
JP2013090072A (ja) | サービス提供システム | |
CN112612769B (zh) | 文件处理方法、装置及存储介质 | |
CN111158949A (zh) | 容灾架构的配置方法、切换方法及装置、设备和存储介质 | |
CN108228393A (zh) | 一种可扩展的大数据高可用的实现方法 | |
CN105744001A (zh) | 分布式缓存系统扩容方法、数据访问方法及装置和系统 | |
CN110290196B (zh) | 一种内容分发方法及装置 | |
CN105323271B (zh) | 一种云计算系统以及云计算系统的处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200508 |
|
RJ01 | Rejection of invention patent application after publication |