CN114666201B - 一种高可用的分布式微服务架构 - Google Patents

一种高可用的分布式微服务架构 Download PDF

Info

Publication number
CN114666201B
CN114666201B CN202210201974.0A CN202210201974A CN114666201B CN 114666201 B CN114666201 B CN 114666201B CN 202210201974 A CN202210201974 A CN 202210201974A CN 114666201 B CN114666201 B CN 114666201B
Authority
CN
China
Prior art keywords
node
storage
service
data
distributed
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.)
Active
Application number
CN202210201974.0A
Other languages
English (en)
Other versions
CN114666201A (zh
Inventor
赵凯迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guodong Information Technology Group Co ltd
National Animal Network Co ltd
Original Assignee
Guodong Information Technology Group Co ltd
National Animal Network Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guodong Information Technology Group Co ltd, National Animal Network Co ltd filed Critical Guodong Information Technology Group Co ltd
Priority to CN202210201974.0A priority Critical patent/CN114666201B/zh
Publication of CN114666201A publication Critical patent/CN114666201A/zh
Application granted granted Critical
Publication of CN114666201B publication Critical patent/CN114666201B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种高可用的分布式微服务架构,包括中间件、数据库和存储系统,包括Master节点、StorageNode数据节点和Client节点,Master节点在有中心控制节点的分布式文件系统,完成从哪里读写的任务;StorageNode数据节点用以文件在单机系统上进行存储,对于有主从之分的存储节点,还包括保持备份数据一致性;Client节点为接入层,对写操作,接受用户数据流,将数据写入存储节点,且其中所述中间件可动态扩容。本发明服务至少三个节点来实现服务的负载均衡,实现自动化部署每个节点,自动化扩容的效果。

Description

一种高可用的分布式微服务架构
技术领域
本发明涉及数据存储技术领域,具体涉及一种高可用的分布式微服务架构。
背景技术
现有技术的高可用的分布式微服务架构,包括连接板nacos集群、rocketmq集群、emqx集群。现有技术的当前服务都是以集群的方式部署,支持高可用,以负载均衡的方式进行负载,实现自动扩容、自动重启。使用监控,监控集群的当前负载情况,实现自动重启、自动扩容。程序部署方式使用开源的jenkins实现自动半灰度发布,自动发布实现服务的健康检查,服务端口的自动检测功能。
现有技术的架构,故障范围大,拓展性很差,整个系统会因为一台机器出故障而导致整体不可用,所以,需要通过分布式架构来冗余系统以消除单点故障,从而提高系统的可用性。
而且,现有技术存在以下的技术问题,1、架构设计复杂(尤其是其中的分布式事务);2、部署单个服务比较快,但是如果一次部署需要多个服务,部署会变得复杂;3、系统的吞吐量变大,但是响应时间会变长。4、测试和查错的复杂度增大。
发明内容
本发明供一种高可用的分布式微服务架构,解决上述技术问题至少之一。
为实现上述目的,本发明提供如下技术方案。
一种高可用的分布式微服务架构,包括中间件、数据库和存储系统,微服务采用多节点分布式部署,包括Master节点、StorageNode数据节点和Client节点,
Master节点在有中心控制节点的分布式文件系统,完成从哪里读写的任务;
StorageNode数据节点负责文件在单机系统上的存储,其中对于有主从之分的存储节点,还包括保持备份数据一致性;
Client节点为接入层,对写操作,接受用户数据流,将数据写入存储节点,
其中,所述中间件可动态扩容。
进一步的,本发明的一种高可用的分布式微服务架构,还包括监控模块和扩容模块,用以进行监控和自动扩容,其采用的crontab(定时任务)通过脚本实现的,首先监控服务的健康状态,随后进行扩容为根据现有的开源的框架实现。
进一步的,本发明的一种高可用的分布式微服务架构,分布式中间件系统自动检测服务的健康状态并选择合适的状态进行扩容和报警,分布式微服务架构实现自动化的更新和发布;分布式的数据结构保证数据的高可用随着高流量的并发分布式可以很好的应对。
进一步的,本发明的一种高可用的分布式微服务架构,包括管理节点(ndb_mgmd),处理节点(mysqld)和存储节点(ndbd),不存在共享存储设备。
进一步的,本发明的一种高可用的分布式微服务架构,其中管理节点(ndb_mgmd)实现自动化扩容,集群健康检测;处理节点(mysqld)包括数据库集群;存储节点(ndbd)包括分布式文件系统;
MySQL cluster(数据库集群)采用NDB存储引擎来实现,数据被自动分布在集群中的不同存储节点上,每个存储节点只保存完整数据的一个分片。
进一步的,本发明的一种高可用的分布式微服务架构,可设置同一份数据保存在多个不同的存储节点上,以保证单点故障不会造成数据丢失。
进一步的,本发明的一种高可用的分布式微服务架构,自动化扩容的步骤为:
S1当检测到当前一台Master节点上的内存或则cpu已经满足不了当前服务;
S2调度节点启用backup把当前的服务扩容到backup新节点,且此backup节点会上升为master节点,其中,每一个Master节点都可以是调度节点;
S3当检测到当前访问量较少,当前的master节点已足够;
S4调度节点把其中一台master节点缩容,此master节点切换为backup节点。
本发明采用上述方案,当业务达到一个瓶颈,自动扩容,客户端无感知扩容;当一台服务出现宕机,不会影响整体服务的进程,保证了服务可用性;现有技术的架构,发布任务需要停机发布,每次发布都会影响线上服务的进程,影响整体服务。本发明自动发布,实现客户端无感知发布任务,更新。现有技术的架构,只有单节点保存数据,只要出现故障很难恢复,本发明采用多种手段同步数据,实现数据的高可用,实现高并发和高数据量,就算是一台服务出现宕机也不会影响整体服务的进程。
本发明具还有以下优点:本发明通过分布式存储,对数据的安全性和保密性做了优化。本发明通过具备消除单点故障,从而提供系统的稳定性。本发明提高了整套系统的功能、性能、可扩展性、可靠性、可用性,
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的一种高可用的分布式微服务架构的结构示意图;
图2为本发明的一种高可用的分布式微服务架构的自动化扩容的示意图。
应该理解上述附图只是示意性的,并没有按比例绘制。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明实施例的描述中,需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本发明提供一种高可用的分布式微服务架构,是一种充电桩式分布式架构部署结构,包括中间件、数据库、存储系统,所述中间件均可动态扩容。当前框架使用的javaSpringClould一个生命,周期短暂的微服务框架,用于快速的构建执行有限数据处理的应用程序,微服务是用多节点分布式部署。本发明服务至少三个节点来实现服务的负载均衡,实现自动化部署每个节点,自动化扩容的效果。以上为本发明的基本设计方案,以下将对本发明的具体实施方式做详细的说明。
参见图1和图2,本发明提供一种高可用的分布式微服务架构,包括Master节点、StorageNode数据节点和Client节点。
其中,Master节点在有中心控制节点的分布式文件系统,从哪里读写的任务基本是由中心控制节点完成的;
StorageNode数据节点负责文件在单机系统上进行存储,且对于有主从之分的存储节点,各自还承担保持备份数据一致性的任务;
Client节点作为接入层,对写操作,接受用户数据流,将数据写入存储节点。
其中,Master节点、StorageNode数据节点和Client节点是分布式文件系统,Mysql(数据库集群)搭建在上述分布式文件系统上的。
本发明的一种高可用的分布式微服务架构,还具有监控模块和扩容模块,具有自动化扩容和自动化监测功能,通过工作人员通过脚本实现,监控和自动扩容采用的crontab(定时任务)通过脚本进行实现的,首先监控服务的健康状态,随后进行扩容根据现有的一些开源的框架来进行实现。
本发明的一种高可用的分布式微服务架构,分布式中间件系统自动检测服务的健康状态并选择合适的状态进行扩容和报警,分布式微服务架构实现自动化的更新和发布;分布式的数据结构保证数据的高可用随着高流量的并发分布式可以很好的应对。
本发明的一种高可用的分布式微服务架构,包括管理节点(ndb_mgmd),处理节点(mysqld)和存储节点(ndbd),而不存在一个共享的存储设备。
其中管理节点(ndb_mgmd)实现自动化扩容,集群健康检测等;
处理节点(mysqld)包括数据库集群;
存储节点(ndbd)包括分布式文件系统。
其中,MySQL cluster(数据库集群)主要采用NDB存储引擎来实现,NDB存储引擎是一个内存式存储引擎,要求数据必须全部加载到内存之中。数据被自动分布在集群中的不同存储节点上,每个存储节点只保存完整数据的一个分片(fragment)。同时,用户可以设置同一份数据保存在多个不同的存储节点上,以保证单点故障不会造成数据丢失。
本发明的一种高可用的分布式微服务架构,还包括自动化扩容,其步骤为:
S1当检测到当前一台Master节点上的内存或则cpu已经满足不了当前服务;
S2调度节点启用backup把当前的服务扩容到backup新节点,且此backup节点会上升为master节点,其中,每一个Master节点都可以是调度节点;
S3当检测到当前访问量较少,当前的master节点已足够;
S4调度节点,就会把其中一台的master节点缩容,此master节点切换为backup节点。
本发明采用上述方案,当业务达到一个瓶颈,自动扩容,客户端无感知扩容;当一台服务出现宕机,不会影响整体服务的进程,保证了服务可用性;现有技术的架构,发布任务需要停机发布,每次发布都会影响线上服务的进程,影响整体服务。本发明自动发布,实现客户端无感知发布任务,更新。现有技术的架构,只有单节点保存数据,只要出现故障很难恢复,本发明采用多种手段同步数据,实现数据的高可用,实现高并发和高数据量,就算是一台服务出现宕机也不会影响整体服务的进程。
本发明具还有以下优点:本发明通过分布式存储,对数据的安全性和保密性做了优化。本发明通过具备消除单点故障,从而提供系统的稳定性。本发明提高了整套系统的功能、性能、可扩展性、可靠性、可用性,
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本发明提供的技术方案,不受上述实施例的限制,凡是利用本发明的结构和方式,经过变换和代换所形成的技术方案,都在本发明的保护范围内。

Claims (5)

1.一种高可用的分布式微服务架构,其特征在于:包括中间件、数据库和存储系统,微服务采用多节点分布式部署,包括Master节点、StorageNode数据节点和Client节点,
Master节点在有中心控制节点的分布式文件系统,完成从哪里读写的任务;
StorageNode数据节点负责文件在单机系统上的存储,其中对于有主从之分的存储节点,还包括保持备份数据一致性;
Client节点为接入层,对写操作,接受用户数据流,将数据写入存储节点,
其中,所述中间件可动态扩容;
包括管理节点(ndb_mgmd),处理节点(mysqld)和存储节点(ndbd),不存在共享存储设备;
其中管理节点(ndb_mgmd)实现自动化扩容,集群健康检测;处理节点(mysqld)包括数据库集群;存储节点(ndbd)包括分布式文件系统;
MySQL cluster(数据库集群)采用NDB存储引擎来实现,数据被自动分布在集群中的不同存储节点上,每个存储节点只保存完整数据的一个分片。
2.如权利要求1所述的一种高可用的分布式微服务架构,其特征在于:还包括监控模块和扩容模块,用以进行监控和自动扩容,其采用的crontab(定时任务)通过脚本实现的,首先监控服务的健康状态,随后进行扩容为根据现有的开源的框架实现。
3.如权利要求1所述的一种高可用的分布式微服务架构,其特征在于:分布式中间件系统自动检测服务的健康状态并选择合适的状态进行扩容和报警,分布式微服务架构实现自动化的更新和发布;分布式的数据结构保证数据的高可用随着高流量的并发分布式可应对。
4.如权利要求1所述的一种高可用的分布式微服务架构,其特征在于:可设置同一份数据保存在多个不同的存储节点上,以保证单点故障不会造成数据丢失。
5.如权利要求1至4任一所述的一种高可用的分布式微服务架构,其特征在于:自动化扩容的步骤为:
S1当检测到当前一台Master节点上的内存或者cpu已经满足不了当前服务;
S2调度节点启用backup把当前的服务扩容到backup新节点,且此backup节点会上升为master节点,其中,每一个Master节点都可是调度节点;
S3当检测到当前访问量较少,当前的master节点已足够;
S4调度节点把其中一台master节点缩容,此master节点切换为backup节点。
CN202210201974.0A 2022-03-02 2022-03-02 一种高可用的分布式微服务架构 Active CN114666201B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210201974.0A CN114666201B (zh) 2022-03-02 2022-03-02 一种高可用的分布式微服务架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210201974.0A CN114666201B (zh) 2022-03-02 2022-03-02 一种高可用的分布式微服务架构

Publications (2)

Publication Number Publication Date
CN114666201A CN114666201A (zh) 2022-06-24
CN114666201B true CN114666201B (zh) 2024-01-30

Family

ID=82027185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210201974.0A Active CN114666201B (zh) 2022-03-02 2022-03-02 一种高可用的分布式微服务架构

Country Status (1)

Country Link
CN (1) CN114666201B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115802298B (zh) * 2022-10-31 2023-07-07 广州市玄武无线科技股份有限公司 一种短信提交报告和回执报告的处理方法与系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106096038A (zh) * 2016-06-28 2016-11-09 浪潮软件股份有限公司 一种云计算架构下的分布式数据库架构
CN108712464A (zh) * 2018-04-13 2018-10-26 中国科学院信息工程研究所 一种面向集群微服务高可用的实现方法
CN110489225A (zh) * 2018-05-15 2019-11-22 中国移动通信集团浙江有限公司 一种基于消息队列的服务扩容方法、装置及设备
CN111159133A (zh) * 2019-12-16 2020-05-15 北京航天智造科技发展有限公司 一种基于微服务的分布式论坛系统
CN112199419A (zh) * 2020-10-09 2021-01-08 深圳市欢太科技有限公司 一种分布式时序数据库、存储方法、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106096038A (zh) * 2016-06-28 2016-11-09 浪潮软件股份有限公司 一种云计算架构下的分布式数据库架构
CN108712464A (zh) * 2018-04-13 2018-10-26 中国科学院信息工程研究所 一种面向集群微服务高可用的实现方法
CN110489225A (zh) * 2018-05-15 2019-11-22 中国移动通信集团浙江有限公司 一种基于消息队列的服务扩容方法、装置及设备
CN111159133A (zh) * 2019-12-16 2020-05-15 北京航天智造科技发展有限公司 一种基于微服务的分布式论坛系统
CN112199419A (zh) * 2020-10-09 2021-01-08 深圳市欢太科技有限公司 一种分布式时序数据库、存储方法、设备及存储介质

Also Published As

Publication number Publication date
CN114666201A (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
CN109729129B (zh) 存储集群系统的配置修改方法、存储集群及计算机系统
CN110784350B (zh) 一种实时高可用集群管理系统的设计方法
Hamilton On Designing and Deploying Internet-Scale Services.
CN102402395B (zh) 基于仲裁磁盘的高可用系统不间断运行方法
CN113688035B (zh) 一种基于沙箱环境的数据库双活中心验证方法及系统
WO2008135875A1 (en) Dynamic cli mapping for clustered software entities
JP2020021277A (ja) 情報処理システム、情報処理システムの管理方法及びプログラム
CN114666201B (zh) 一种高可用的分布式微服务架构
CN106657167A (zh) 管理服务器、服务器集群、以及管理方法
CN115562911B (zh) 虚拟机数据备份方法及装置、系统、电子设备、存储介质
CN115080436B (zh) 测试指标确定方法、装置、电子设备及存储介质
CN108243031B (zh) 一种双机热备的实现方法及装置
CN113297173B (zh) 分布式数据库集群管理方法及装置、电子设备
CN105959145B (zh) 一种适用高可用性集群的并行管理服务器的方法及系统
CN114385755A (zh) 一种分布式存储系统
CN112015561A (zh) 用于流式计算服务的方法、装置和系统
CN116361078A (zh) 数据同步方法、装置、系统和介质
CN107577548A (zh) 一种用于航空电子系统的实时动态重构方法
CN114328032A (zh) 基于大数据双活的容灾切换处理方法、装置和计算机设备
CN114816656A (zh) 容器组迁移方法、电子设备及存储介质
CN114363356A (zh) 数据同步方法、系统、装置、计算机设备和存储介质
US9069728B2 (en) Disable restart setting for AMF configuration components
CN106790447B (zh) 一种基于库复制的分布式存储方法
US20170091301A1 (en) Atomic clustering operations for managing a partitioned cluster online
Bravo et al. Policy-based adaptation of a byzantine fault tolerant distributed graph database

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
GR01 Patent grant
GR01 Patent grant