一种高可用的分布式微服务架构制造技术

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

【技术实现步骤摘要】
一种高可用的分布式微服务架构


[0001]本专利技术涉及数据存储
,具体涉及一种高可用的分布式微服务架构。

技术介绍

[0002]现有技术的高可用的分布式微服务架构,包括连接板nacos集群、rocketmq集群、emqx集群。现有技术的当前服务都是以集群的方式部署,支持高可用,以负载均衡的方式进行负载,实现自动扩容、自动重启。使用监控,监控集群的当前负载情况,实现自动重启、自动扩容。程序部署方式使用开源的jenkins实现自动半灰度发布,自动发布实现服务的健康检查,服务端口的自动检测功能。
[0003]现有技术的架构,故障范围大,拓展性很差,整个系统会因为一台机器出故障而导致整体不可用,所以,需要通过分布式架构来冗余系统以消除单点故障,从而提高系统的可用性。
[0004]而且,现有技术存在以下的技术问题,1、架构设计复杂(尤其是其中的分布式事务);2、部署单个服务比较快,但是如果一次部署需要多个服务,部署会变得复杂;3、系统的吞吐量变大,但是响应时间会变长。4、测试和查错的复杂度增大。

技术实现思路

[0005]本专利技术供一种高可用的分布式微服务架构,解决上述技术问题至少之一。
[0006]为实现上述目的,本专利技术提供如下技术方案。
[0007]一种高可用的分布式微服务架构,包括中间件、数据库和存储系统,微服务采用多节点分布式部署,包括Master节点、StorageNode数据节点和Client节点,
[0008]Master节点在有中心控制节点的分布式文件系统,完成从哪里读写的任务;
[0009]StorageNode数据节点负责文件在单机系统上的存储,其中对于有主从之分的存储节点,还包括保持备份数据一致性;
[0010]Client节点为接入层,对写操作,接受用户数据流,将数据写入存储节点,
[0011]其中,所述中间件可动态扩容。
[0012]进一步的,本专利技术的一种高可用的分布式微服务架构,还包括监控模块和扩容模块,用以进行监控和自动扩容,其采用的crontab(定时任务)通过脚本实现的,首先监控服务的健康状态,随后进行扩容为根据现有的开源的框架实现。
[0013]进一步的,本专利技术的一种高可用的分布式微服务架构,分布式中间件系统自动检测服务的健康状态并选择合适的状态进行扩容和报警,分布式微服务架构实现自动化的更新和发布;分布式的数据结构保证数据的高可用随着高流量的并发分布式可以很好的应对。
[0014]进一步的,本专利技术的一种高可用的分布式微服务架构,包括管理节点(ndb_mgmd),处理节点(mysqld)和存储节点(ndbd),不存在共享存储设备。
[0015]进一步的,本专利技术的一种高可用的分布式微服务架构,其中管理节点(ndb_mgmd)
实现自动化扩容,集群健康检测;处理节点(mysqld)包括数据库集群;存储节点(ndbd)包括分布式文件系统;
[0016]MySQL cluster(数据库集群)采用NDB存储引擎来实现,数据被自动分布在集群中的不同存储节点上,每个存储节点只保存完整数据的一个分片。
[0017]进一步的,本专利技术的一种高可用的分布式微服务架构,可设置同一份数据保存在多个不同的存储节点上,以保证单点故障不会造成数据丢失。
[0018]进一步的,本专利技术的一种高可用的分布式微服务架构,自动化扩容的步骤为:
[0019]S1当检测到当前一台Master节点上的内存或则cpu已经满足不了当前服务;
[0020]S2调度节点启用backup把当前的服务扩容到backup新节点,且此backup节点会上升为master节点,其中,每一个Master节点都可以是调度节点;
[0021]S3当检测到当前访问量较少,当前的master节点已足够;
[0022]S4调度节点把其中一台master节点缩容,此master节点切换为backup节点。
[0023]本专利技术采用上述方案,当业务达到一个瓶颈,自动扩容,客户端无感知扩容;当一台服务出现宕机,不会影响整体服务的进程,保证了服务可用性;现有技术的架构,发布任务需要停机发布,每次发布都会影响线上服务的进程,影响整体服务。本专利技术自动发布,实现客户端无感知发布任务,更新。现有技术的架构,只有单节点保存数据,只要出现故障很难恢复,本专利技术采用多种手段同步数据,实现数据的高可用,实现高并发和高数据量,就算是一台服务出现宕机也不会影响整体服务的进程。
[0024]本专利技术具还有以下优点:本专利技术通过分布式存储,对数据的安全性和保密性做了优化。本专利技术通过具备消除单点故障,从而提供系统的稳定性。本专利技术提高了整套系统的功能、性能、可扩展性、可靠性、可用性,
附图说明
[0025]为了更清楚地说明本专利技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0026]图1为本专利技术的一种高可用的分布式微服务架构的结构示意图;
[0027]图2为本专利技术的一种高可用的分布式微服务架构的自动化扩容的示意图。
[0028]应该理解上述附图只是示意性的,并没有按比例绘制。
具体实施方式
[0029]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。
[0030]因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范
围。
[0031]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0032]在本专利技术实施例的描述中,需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0033]本专利技术提供一种高可用的分布式微服务架构,是一种充电桩式分布式架构部署结构,包括中间件、数据库、存储系统,所述中间件均可动态扩容。当前框架使用的javaSpringClould一个生命,周期短暂的微服务框架,用于快速的构建执行有限数据处理的应用程序,微服务是用多节点分布式部署。本专利技术服务至少三个节点来实现服务的负载均衡,实现自动化部署每个节点,自动化扩容的效果。以上为本专利技术的基本设计方案,以下将对本专利技术的具体实施方式做详细的说明。
[0034]参见图1和图2,本专利技术提供一种高可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种高可用的分布式微服务架构,其特征在于:包括中间件、数据库和存储系统,微服务采用多节点分布式部署,包括Master节点、StorageNode数据节点和Client节点,Master节点在有中心控制节点的分布式文件系统,完成从哪里读写的任务;StorageNode数据节点负责文件在单机系统上的存储,其中对于有主从之分的存储节点,还包括保持备份数据一致性;Client节点为接入层,对写操作,接受用户数据流,将数据写入存储节点,其中,所述中间件可动态扩容。2.如权利要求1所述的一种高可用的分布式微服务架构,其特征在于:还包括监控模块和扩容模块,用以进行监控和自动扩容,其采用的crontab(定时任务)通过脚本实现的,首先监控服务的健康状态,随后进行扩容为根据现有的开源的框架实现。3.如权利要求1所述的一种高可用的分布式微服务架构,其特征在于:分布式中间件系统自动检测服务的健康状态并选择合适的状态进行扩容和报警,分布式微服务架构实现自动化的更新和发布;分布式的数据结构保证数据的高可用随着高流量的并发分布式可应对。4.如权利要求1所述的一种高可用的分布式微服务架构,其特征在于:包括管理节点(ndb_mgmd),处理节点...

【专利技术属性】
技术研发人员:赵凯迪
申请(专利权)人:国动信息科技集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1