CN110149397A - 一种微服务整合方法和装置 - Google Patents
一种微服务整合方法和装置 Download PDFInfo
- Publication number
- CN110149397A CN110149397A CN201910420826.6A CN201910420826A CN110149397A CN 110149397 A CN110149397 A CN 110149397A CN 201910420826 A CN201910420826 A CN 201910420826A CN 110149397 A CN110149397 A CN 110149397A
- Authority
- CN
- China
- Prior art keywords
- service
- micro services
- access request
- distributed
- service access
- 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
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
- H04L67/1004—Server selection for load balancing
-
- 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)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种微服务整合方法和装置。该方法包括:接收用户的服务访问请求;通过首次负载均衡将所述服务访问请求分发至服务集群组中的服务集群,所述服务集群组包括多个彼此独立的服务集群,每个服务集群包括微服务;通过所述服务集群的微服务对分发至的所述服务访问请求进行逻辑处理得到响应数据,并将所述响应数据返回给所述用户;其中,对所述多个彼此独立的服务集群之间的共享数据进行集中式存储,并集中式收集每个服务集群的日志。本发明的方案规范化了微服务架构,实现了开箱即用的微服务整合方案,即,使操作者可直接进行微服务系统的搭建,进行微服务的有效整合,并且搭建的系统具备可水平扩容及高并发服务能力。
Description
技术领域
本发明涉及互联网技术领域,特别是一种微服务整合方法和装置。
背景技术
微服务架构是一种将单个应用程序作为一套各自独立的小型服务开发的方法。在微服务架构中,每种应用程序都在自己的进程中运行,并通过轻量级通讯机制(通常是HTTP资源的API(Application Programming Interface,应用程序编程接口))进行通信。这些服务是围绕业务功能构建的,可以通过全自动部署机制进行独立部署。并且,这些服务可以用不同的编程语言编写,并使用不同的数据存储技术,只要这些服务都支持相互间的通讯协议即可。这样,对单一服务进行更新升级时,就不会对整体系统造成影响。
虽然目前市面上已经有了各种各样的微服务整合方式,但是还未出现一种真正做到开箱即用(即,让操作者根据方案直接进行搭建,并进行有效整合)的系统的整合方案。现有的微服务整合方式需要开发人员进行各个微服务工具的安装、调试、更换,期间会遇到诸如工具相互之间功能重复、工具不满足需求、存在性能瓶颈、无法统一工具管理等诸多问题。
因此,迫切需要一种开箱即用的统一的微服务整合方案,来支持微服务架构的实行。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的微服务整合方法和装置。
根据本发明实施例的一方面,提供了一种微服务整合方法,包括:
接收用户的服务访问请求;
通过首次负载均衡将所述服务访问请求分发至服务集群组中的服务集群,所述服务集群组包括多个彼此独立的服务集群,每个服务集群包括微服务;
通过所述服务集群的微服务对分发至的所述服务访问请求进行逻辑处理得到响应数据,并将所述响应数据返回给所述用户;
其中,对所述多个彼此独立的服务集群之间的共享数据进行集中式存储,并集中式收集每个服务集群的日志。
可选地,通过首次负载均衡将所述服务访问请求分发至服务集群组中的服务集群,包括:
在通过首次负载均衡对所述服务访问请求进行分发时采用粘滞会话,保证同一个用户的服务访问请求被分发至同一个服务集群。
可选地,每个服务集群中包括的同一种微服务的数量为多个;
在通过首次负载均衡将所述服务访问请求分发至服务集群组中的服务集群之后,该微服务整合方法还包括:
通过再次负载均衡将所述服务访问请求分发至该服务集群中的微服务。
可选地,通过再次负载均衡将所述服务访问请求分发至该服务集群中的微服务,包括:
在通过再次负载均衡对所述服务访问请求进行分发时采用粘滞会话,保证同一个用户的服务访问请求被分发至同一个微服务。
可选地,在将所述服务访问请求分发至该服务集群中的微服务之前,该微服务整合方法还包括:
根据所述服务访问请求携带的参数对所述服务访问请求进行鉴权,以校验所述服务访问请求的合法性。
可选地,每个所述服务集群通过使用消息队列组件,将同步流程转变为异步流程,以解耦请求访问微服务流程中各步骤间的关联。
可选地,所述服务集群的微服务对所述服务访问请求进行逻辑处理时,通过该服务集群的内部数据库和/或缓存进行数据存储和查询。
可选地,每个微服务通过RESTful框架或gRPC框架提供服务接口。
根据本发明实施例的另一方面,还提供了一种微服务整合装置,包括:
第一负载均衡器,适于接收用户的服务访问请求,并通过首次负载均衡将所述服务访问请求分发至服务集群组中的服务集群;
所述服务集群组,包括多个彼此独立的服务集群,每个服务集群包括微服务;所述每个服务集群适于对分发至的所述服务访问请求进行逻辑处理得到响应数据,并将所述响应数据返回给所述用户;
集中式数据库,适于存储所述多个彼此独立的服务集群之间的共享数据;以及
集中式日志模块,适于收集每个服务集群的日志。
可选地,每个服务集群包括:
第二负载均衡器,适于通过再次负载均衡将分发至该服务集群的所述服务访问请求分发至网关;
所述网关,适于根据分发至的所述服务访问请求携带的参数对所述服务访问请求进行鉴权,以校验所述服务访问请求的合法性;
注册中心,适于在所述网关对所述服务访问请求进行鉴权后,响应所述网关的操作将所述服务访问请求分发至该服务集群中的微服务;
所述微服务,适于对分发至的所述服务访问请求进行逻辑处理得到响应数据,并将所述响应数据返回给所述用户;以及
内部数据库和/或缓存,适于在所述微服务对分发至的所述服务访问请求进行逻辑处理时,供所述微服务进行数据存储和查询。
本发明实施例提出的微服务整合方法和装置,在接收到用户的服务访问请求后,首先通过负载均衡将服务访问请求分发至服务集群组中的服务集群。服务集群组由多个相互独立的服务集群组成,便于进行水平扩容。每个独立服务集群由微服务组合封装而成,可提供云端服务的完整功能。然后,在将服务访问请求分发后,由服务集群的微服务对分发至的服务访问请求进行逻辑处理得到响应数据,并将响应数据返回给用户。在服务集群进行处理时,对该多个服务集群之间的共享数据进行集中式存储,并集中式收集每个服务集群的日志。通过这种方式,规范化微服务架构,实现了开箱即用的微服务整合方案,即,使操作者可直接进行微服务系统的搭建,进行微服务的有效整合,并且搭建的系统具备可水平扩容及高并发服务能力。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一实施例的微服务整合方法的流程图;
图2示出了根据本发明另一实施例的微服务整合方法的流程图;
图3示出了根据本发明一实施例的微服务整合装置的结构示意图;以及
图4示出了根据本发明另一实施例的微服务整合装置中的服务集群的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为解决上述技术问题,本发明实施例提出一种微服务整合方法。图1示出了根据本发明一实施例的微服务整合方法的流程图。参见图1,该方法至少可以包括以下步骤S102至步骤S106。
步骤S102,接收用户的服务访问请求。
步骤S104,通过首次负载均衡将服务访问请求分发至服务集群组中的服务集群,该服务集群组包括多个彼此独立的服务集群,每个服务集群包括微服务。
步骤S106,通过服务集群的微服务对分发至的服务访问请求进行逻辑处理得到响应数据,并将响应数据返回给用户;其中,对多个彼此独立的服务集群之间的共享数据进行集中式存储,并集中式收集每个服务集群的日志。
本发明实施例提出的微服务整合方法,在接收到用户的服务访问请求后,首先通过负载均衡将服务访问请求分发至服务集群组中的服务集群。服务集群组由多个相互独立的服务集群组成,便于进行水平扩容。每个独立服务集群由微服务组合封装而成,可提供云端服务的完整功能。然后,在将服务访问请求分发后,由服务集群的微服务对分发至的服务访问请求进行逻辑处理得到响应数据,并将响应数据返回给用户。在服务集群进行处理时,对该多个服务集群之间的共享数据进行集中式存储,并集中式收集每个服务集群的日志。通过这种方式,规范化微服务架构,实现了开箱即用的微服务整合方案,即,使操作者可直接进行微服务系统的搭建,进行微服务的有效整合,并且搭建的系统具备可水平扩容及高并发服务能力。
上文步骤S102中,用户的服务访问请求可以是对服务器提供的微服务进行访问的http请求。
上文步骤S104中,可以采用配置了Nginx(Engine X,引擎X)代理、Haproxy代理或F5硬件的第一负载均衡器将服务访问请求分发给服务集群组中的服务集群。通过使用负载均衡器,可以保证用户的服务访问请求都分发给仍存活着的服务集群,并使各独立的服务集群负载均衡,避免单个服务集群压力过大,满足高并发处理能力需求。此处“仍存活着的服务集群”指仍具备可响应于请求而提供服务处理能力的服务集群。
服务集群组包括多个具有相同功能且彼此之间相互独立的服务集群,每一个独立的服务集群都提供了云端服务的完整功能。通过如此设置,当需要扩容服务集群组的服务能力时,既可以通过垂直扩容,即,在每个独立的服务集群中扩容处理能力,也可以通过水平扩容,即,增加独立的服务集群的个数,来进行处理能力的提升。
每个独立的服务集群可以包括多个内部微服务。这些微服务例如可以为天气查询服务、导航服务、音乐服务等。这些微服务一般根据功能进行拆分,服务集群是对这些内部微服务进行组合封装而成的一个系统,是全功能服务的一个最小集合单位。各微服务可以通过RESTful框架或gRPC框架提供服务接口。REST(Representational State Transfer,表述性状态转移)指的是一组架构约束条件和原则,满足这些约束条件和原则的应用程序或设计就是RESTful。相比其他主流的万维网Web服务交互方案,基于RESTful框架的软件架构更简洁,更有层次,更易于实现缓存等机制。通过RESTful框架为微服务提供对外http接口,可以更加简单轻量地实现微服务。gRPC是Google开源的通用高性能RPC(Remote ProcedureCall,远程过程调用)框架,它支持使用数据交换协议Protocol Buffers(协议缓冲)来编写服务定义,支持较多语言扩平台并且拥有强大的二进制序列化工具集。通过gRPC框架为微服务提供RPC服务,可以使一台服务器上的微服务应用直接调用另一台不同的服务器上的微服务应用,从而更容易地实现分布式应用和服务。
在一种可选的实施方案中,如果想要保证同一用户每次都访问同一个服务集群(或同一台服务器),则可以在通过首次负载均衡对服务访问请求进行分发时采用粘滞会话(Sticky Session),保证同一个用户的服务访问请求被分发至同一个服务集群。具体地,可以在第一负载均衡器上开启粘滞会话,这样,对于同一个用户发起的访问请求,一旦经过Nginx、Haproxy、或F5代理服务器之后,就会自动添加用户标识cookie,则接下来将保持同一个用户的请求始终访问后端的同一个独立的服务集群。
上文提及,每个服务集群包含多个不同功能的微服务。在一种可选的实施方案中,为了增加可用率,防止某个微服务宕机而导致其所在的服务集群不可用,每个服务集群中包含的同一种功能的微服务的数量可以为多个。
第一负载均衡器转发过来的请求到达了独立的服务集群后,该独立的服务集群能够完整地服务一个用户请求。优选地,每个独立的服务集群内部还可以通过再次负载均衡对进入该服务集群的服务访问请求进行再次分发,以将服务访问请求分发至该服务集群中的微服务,从而方便多域名、多资源路径的配置。具体地,可以使用配置了Nginx代理、Haproxy代理或F5硬件的第二负载均衡器进行再次负载均衡的分发。
在一种可选的实施方案中,如果想要保证同一用户每次都访问同一个微服务(或同一台机器),则可以在通过再次负载均衡对服务访问请求进行分发时采用粘滞会话,保证同一个用户的服务访问请求被分发至同一个微服务。具体地,可以在第二负载均衡器上开启粘滞会话,这样,对于同一个用户发起的访问请求,一旦经过Nginx、Haproxy或F5代理服务器之后,就会自动添加用户标识cookie,则接下来将保持同一个用户的请求始终访问后端的同一个微服务(服务提供者)。
在一种可选的实施方案中,在将进入服务集群的服务访问请求分发至该服务集群中的微服务之前,还可以根据服务访问请求携带的参数对该服务访问请求进行鉴权,以校验服务访问请求的合法性,从而增加访问操作的安全性。此处提及的服务访问请求携带的参数可以包括应用公钥appKey与令牌token、应用公钥appKey与当前时间戳以及签名sign等至少之一。此处提及的签名为appKey、应用私钥appSecret对带参数网址进行hmac(Hashed Message Authentication Code,散列消息认证码)/sha256(Secure HashAlgorithm 256,安全哈希算法256)加密之后的签名。
在一种实施方式中,可以通过网关来对服务访问请求进行鉴权的操作,例如采用软网关(软件网关)。网关的数量可以为多个,以提升网关的处理能力。
在一种具体的实施方式中,用户的服务访问请求被第一负载均衡器分发至服务集群后,该服务集群通过其内部的第二负载均衡器将用户的服务访问请求分发给网关,使各个网关负载均衡,避免单个网关压力过大。网关对分发至的服务访问请求进行鉴权并通过后,通过注册中心将用户的服务访问请求分发给该服务集群中的微服务。
上文步骤S106中,服务集群中的微服务对分发至的服务访问请求进行逻辑处理并返回数据给用户,从而实现云端服务。此处,逻辑处理指根据预定的业务逻辑对服务访问请求进行的处理操作。
在本发明实施例的微服务架构中,采用了集中式DB(Database,数据库),用于对多个彼此独立的服务集群之间的共享数据进行集中式存储。一般一个机房中可以仅部署一个集中式DB。在本发明实施例的微服务架构中,还采用了集中式日志Log收集系统,用于收集每个服务集群打印的日志,从而便于后期的查看和保存。具体地,集中式日志Log收集系统可采用日志收集工具等实现,将收集的日志保存至诸如SD卡(Secure Digital MemoryCard,安全数码记忆卡)等存储器中。
通过将多个服务集群共享的数据保存在集中式DB中,并将每个服务集群打印的日志收集在集中式Log收集系统中,各个独立的服务集群都分别与该集中式DB和集中式Log收集系统通讯,规范化微服务架构,并提高微服务架构的整体性能。
进一步地,在一种可选的实施方案中,服务集群中的微服务对服务访问请求进行逻辑处理时,还可以通过该服务集群的内部数据库和/或缓存进行数据存储和查询,从而加快服务响应速度。
在本发明实施例中,每个独立的服务集群中还可以设置有内部数据库DB,用于结构化数据存储。该内部DB为该服务集群内各个微服务提供只读功能和一些即使少量数据丢失也不关心的数据保存。每个独立的服务集群中还可以设置有内部缓存,该内部缓存为该服务集群内各个微服务提供缓存功能,用于集群内部配置的高速读取,从而加快服务响应速度。内部缓存一般可以由redis(Remote Dictionary Server,远程字典服务器)存储系统实现。
为了进一步提升微服务架构的整体系统性能,还可以在每个独立的服务集群内部,使用缓存代替数据库来进行数据的查找,以加快查找速度,提高处理效率。
在一种可选的实施方案中,还可以在每个独立的服务集群内部,通过优化各微服务之间的调用方式来提升系统性能。例如,可以通过eureka服务发现框架使用客户端负载均衡策略,让各微服务相互间直接调用。
在另一种可选的实施方案中,还可以通过将每个独立的服务集群内部的数据库设置为读写分离来提升系统性能。
在再一种可选的实施方案中,还可以在每个独立的服务集群内部,通过使用消息队列组件,将同步流程变为异步流程,解耦请求访问微服务流程中各步骤相互间的关联,从而提升系统性能。消息队列组件例如可以为RabbitMQ等。RabbitMQ是实现了高级消息队列协议(Advanced Message Queuing Protocol,AMQP)的开源消息代理软件(亦称面向消息的中间件),可用于通过消息队列解决微服务的耦合问题。
以上介绍了图1所示实施例的各个环节的多种实现方式,下面将通过具体实施例来详细介绍本发明的微服务整合方法的实现过程。
图2示出了根据本发明一具体实施例的微服务整合方法的流程示意图。参见图2所示,该方法可以包括以下步骤S202至步骤S210。
步骤S202,接收用户发送的访问微服务的http请求。
本实施例中,该http请求例如为查询天气。
步骤S204,通过首次负载均衡将http请求分发至服务集群组中的服务集群,该服务集群组包括多个彼此独立的服务集群,每个服务集群包括多个微服务。
本步骤中,采用配置了Nginx代理、Haproxy代理或F5硬件的第一负载均衡器进行首次负载均衡的请求分发。
步骤S206,通过再次负载均衡将进入该服务集群的http请求分发至该服务集群中的网关。
本步骤中,采用配置了Nginx代理Haproxy代理或F5硬件的第二负载均衡器进行再次负载均衡的请求分发。网关实现为软网关。
步骤S208,网关对分发至的http请求进行鉴权并通过后,通过注册中心将http请求分发给该服务集群中的微服务。
本步骤中,网关通过http请求上传的应用公钥appKey与令牌token、应用公钥appKey与当前时间戳以及签名sign等至少之一来校验http请求的合法性。此处提及的签名为appKey、应用私钥appSecret对带参数网址进行hmac/sha256加密之后的签名。
步骤S210,微服务对分发至的http请求进行逻辑处理得到响应数据,并将响应数据返回给用户。
在步骤S210中,微服务对分发至的http请求进行逻辑处理时,通过该服务集群的内部数据库和/或缓存进行数据存储和查询。
本实施例中,在用户访问微服务的整个过程中,对该多个彼此独立的服务集群之间的共享数据进行集中式存储,并集中式收集每个服务集群的日志。
本实施例提供的微服务整合方案,通过使用开源工具,代理前端用户请求,并结合行业内领先的微服务框架,对微服务进行封装,规范化了微服务架构,提供具有指导意义的微服务整合方案,达到了微服务化、可水平扩容、高并发、高可用的目标。
基于同一发明构思,本发明实施例还提供了一种微服务整合装置,用于支持上述任意一个实施例或其组合所提供的微服务整合方法。图3示出了根据本发明一实施例的微服务整合装置300的结构示意图。参见图3,该装置300至少可以包括:第一负载均衡器310、服务集群组320、集中式数据库330以及集中式日志模块340。
现介绍本发明实施例的微服务整合装置300的各组成或器件的功能以及各部分间的连接关系:
第一负载均衡器310,适于接收用户的服务访问请求,并通过首次负载均衡将服务访问请求分发至服务集群组320中的服务集群。此处提及的用户的服务访问请求可以是访问服务器提供的微服务的http请求。第一负载均衡器310可以为配置了Nginx代理、Haproxy代理或F5硬件的负载均衡器。
服务集群组320,与第一负载均衡器310连接,包括多个彼此独立的服务集群321,每个服务集群包括微服务3211。每个服务集群321对分发至的服务访问请求进行逻辑处理得到响应数据,并将响应数据返回给用户。
每个独立的服务集群321可以包括多个内部微服务3211。这些微服务例如可以为天气查询服务、导航服务、音乐服务等。这些微服务一般根据功能进行拆分,服务集群321是对这些内部微服务3211进行组合封装而成的一个系统,是全功能服务的一个最小集合单位。各微服务3211可以通过RESTful框架或gRPC框架提供服务接口。具体地,可以通过RESTful框架提供对外http接口,或者通过gRPC框架提供RPC服务
集中式数据库330,与服务集群组320连接,适于存储该多个彼此独立的服务集群之间的共享数据。
集中式日志模块340,与服务集群组320连接,适于收集每个服务集群的日志。
各个独立的服务集群321都分别与集中式数据库330和集中式日志模块340进行通讯。
进一步地,第一负载均衡器310还适于:
在通过首次负载均衡对服务访问请求进行分发时采用粘滞会话,保证同一个用户的服务访问请求被分发至同一个服务集群321。
在一个可选的实施例中,参见图4所示,每个服务集群321还可以包括第二负载均衡器3212,适于通过再次负载均衡将进入服务集群321的服务访问请求分发至该服务集群321中的微服务3211。第二负载均衡器3212可以为配置了Nginx代理、Haproxy代理或F5硬件的负载均衡器。
进一步地,第二负载均衡器3212还适于:
在通过再次负载均衡对服务访问请求进行分发时采用粘滞会话,保证同一个用户的服务访问请求被分发至同一个微服务3211。
在一个可选的实施例中,继续参见图4,每个服务集群321还可以包括网关3213和注册中心3214。
网关3213可以为软网关,数量可以有多个。此时,第二负载均衡器3212通过再次负载均衡将分发至该服务集群321的服务访问请求分发至网关3213。网关3213根据分发至的服务访问请求携带的参数对该服务访问请求进行鉴权,以校验该服务访问请求的合法性。此处提及的服务访问请求携带的参数可以为应用公钥appKey与令牌token、应用公钥appKey与当前时间戳以及签名sign等至少之一。此处提及的签名为appKey、应用私钥appSecret对带参数网址进行hmac/sha256加密之后的签名。。在网关3213对服务访问请求进行鉴权并通过后,注册中心3214响应网关3213的操作将服务访问请求分发至该服务集群321中的微服务3211。
在一个可选的实施例中,继续参见图4,每个服务集群321还可以包括内部数据库3215和/或缓存3216。在微服务3211对分发至的服务访问请求进行逻辑处理时,内部数据库3215和/或缓存3216供微服务3211进行数据存储和查询。
根据上述任意一个可选实施例或多个可选实施例的组合,本发明实施例能够达到如下有益效果:
本发明实施例提出的微服务整合方法和装置,在接收到用户的服务访问请求后,首先通过负载均衡将服务访问请求分发至服务集群组中的服务集群。服务集群组由多个相互独立的服务集群组成,便于进行水平扩容。每个独立服务集群由微服务组合封装而成,可提供云端服务的完整功能。然后,在将服务访问请求分发后,由服务集群的微服务对分发至的服务访问请求进行逻辑处理得到响应数据,并将响应数据返回给用户。在服务集群进行处理时,对该多个服务集群之间的共享数据进行集中式存储,并集中式收集每个服务集群的日志。通过这种方式,规范化微服务架构,实现了开箱即用的微服务整合方案,即,使操作者可直接进行微服务系统的搭建,进行微服务的有效整合,并且搭建的系统具备可水平扩容及高并发服务能力。
所属领域的技术人员可以清楚地了解到,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。
本领域普通技术人员可以理解:所述集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行所述指令时执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM),磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。
Claims (10)
1.一种微服务整合方法,其特征在于,包括:
接收用户的服务访问请求;
通过首次负载均衡将所述服务访问请求分发至服务集群组中的服务集群,所述服务集群组包括多个彼此独立的服务集群,每个服务集群包括微服务;
通过所述服务集群的微服务对分发至的所述服务访问请求进行逻辑处理得到响应数据,并将所述响应数据返回给所述用户;
其中,对所述多个彼此独立的服务集群之间的共享数据进行集中式存储,并集中式收集每个服务集群的日志。
2.根据权利要求1所述的微服务整合方法,其特征在于,通过首次负载均衡将所述服务访问请求分发至服务集群组中的服务集群,包括:
在通过首次负载均衡对所述服务访问请求进行分发时采用粘滞会话,保证同一个用户的服务访问请求被分发至同一个服务集群。
3.根据权利要求1所述的微服务整合方法,其特征在于,每个服务集群中包括的同一种微服务的数量为多个;
在通过首次负载均衡将所述服务访问请求分发至服务集群组中的服务集群之后,还包括:
通过再次负载均衡将所述服务访问请求分发至该服务集群中的微服务。
4.根据权利要求3所述的微服务整合方法,其特征在于,通过再次负载均衡将所述服务访问请求分发至该服务集群中的微服务,包括:
在通过再次负载均衡对所述服务访问请求进行分发时采用粘滞会话,保证同一个用户的服务访问请求被分发至同一个微服务。
5.根据权利要求3所述的微服务整合方法,其特征在于,在将所述服务访问请求分发至该服务集群中的微服务之前,还包括:
根据所述服务访问请求携带的参数对所述服务访问请求进行鉴权,以校验所述服务访问请求的合法性。
6.根据权利要求1-5中任一项所述的微服务整合方法,其特征在于,每个所述服务集群通过使用消息队列组件,将同步流程转变为异步流程,以解耦请求访问微服务流程中各步骤间的关联。
7.根据权利要求1-5中任一项所述的微服务整合方法,其特征在于,所述服务集群的微服务对所述服务访问请求进行逻辑处理时,通过该服务集群的内部数据库和/或缓存进行数据存储和查询。
8.根据权利要求1-5中任一项所述的微服务整合方法,其特征在于,每个微服务通过RESTful框架或gRPC框架提供服务接口。
9.一种微服务整合装置,其特征在于,包括:
第一负载均衡器,适于接收用户的服务访问请求,并通过首次负载均衡将所述服务访问请求分发至服务集群组中的服务集群;
所述服务集群组,包括多个彼此独立的服务集群,每个服务集群包括微服务;所述每个服务集群适于对分发至的所述服务访问请求进行逻辑处理得到响应数据,并将所述响应数据返回给所述用户;
集中式数据库,适于存储所述多个彼此独立的服务集群之间的共享数据;以及
集中式日志模块,适于收集每个服务集群的日志。
10.根据权利要求9所述的微服务整合装置,其特征在于,每个服务集群包括:
第二负载均衡器,适于通过再次负载均衡将分发至该服务集群的所述服务访问请求分发至网关;
所述网关,适于根据分发至的所述服务访问请求携带的参数对所述服务访问请求进行鉴权,以校验所述服务访问请求的合法性;
注册中心,适于在所述网关对所述服务访问请求进行鉴权后,响应所述网关的操作将所述服务访问请求分发至该服务集群中的微服务;
所述微服务,适于对分发至的所述服务访问请求进行逻辑处理得到响应数据,并将所述响应数据返回给所述用户;以及
内部数据库和/或缓存,适于在所述微服务对分发至的所述服务访问请求进行逻辑处理时,供所述微服务进行数据存储和查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910420826.6A CN110149397A (zh) | 2019-05-20 | 2019-05-20 | 一种微服务整合方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910420826.6A CN110149397A (zh) | 2019-05-20 | 2019-05-20 | 一种微服务整合方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110149397A true CN110149397A (zh) | 2019-08-20 |
Family
ID=67592242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910420826.6A Pending CN110149397A (zh) | 2019-05-20 | 2019-05-20 | 一种微服务整合方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110149397A (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110602115A (zh) * | 2019-09-19 | 2019-12-20 | 郑明达 | 一种基于微服务的安全决策方法及系统 |
CN110944067A (zh) * | 2019-12-27 | 2020-03-31 | 华为技术有限公司 | 一种负载均衡方法和服务器 |
CN111225030A (zh) * | 2019-12-16 | 2020-06-02 | 航天信息股份有限公司 | 一种基于信任评估策略对微服务进行选择的方法及系统 |
CN111291360A (zh) * | 2020-01-21 | 2020-06-16 | 中电福富信息科技有限公司 | 基于服务治理的大数据权限管理方法及系统 |
CN111638972A (zh) * | 2020-05-07 | 2020-09-08 | 北京仁科互动网络技术有限公司 | 基于微服务的请求响应方法、系统、设备及存储介质 |
CN111880908A (zh) * | 2020-06-28 | 2020-11-03 | 北京沃东天骏信息技术有限公司 | 分布式事务的处理方法、装置及存储介质 |
CN112346899A (zh) * | 2020-11-06 | 2021-02-09 | 北京北信源软件股份有限公司 | 微服务性能优化方法及装置 |
CN112448848A (zh) * | 2020-11-13 | 2021-03-05 | 上海电器科学研究所(集团)有限公司 | 一种基于微服务自动扩容方法 |
CN112506630A (zh) * | 2020-12-01 | 2021-03-16 | 国科晋云技术有限公司 | 一种多域服务平台架构 |
CN112671882A (zh) * | 2020-12-18 | 2021-04-16 | 上海安畅网络科技股份有限公司 | 一种基于微服务的同城双活系统和方法 |
CN112738220A (zh) * | 2020-12-28 | 2021-04-30 | 杭州迪普科技股份有限公司 | 服务器集群的管理方法、负载均衡方法和负载均衡设备 |
CN112769828A (zh) * | 2021-01-11 | 2021-05-07 | 深圳市洪堡智慧餐饮科技有限公司 | 一种基于sanic异步微服务方法 |
CN112968943A (zh) * | 2021-02-01 | 2021-06-15 | 国网安徽省电力有限公司 | 一种电力协同平台 |
CN113032000A (zh) * | 2021-03-22 | 2021-06-25 | 四川众信佳科技发展有限公司 | 一种智能运营数据管理装置、方法和计算机系统 |
CN113381947A (zh) * | 2021-04-15 | 2021-09-10 | 北京开元华创信息技术有限公司 | 一种数据交换一体机 |
WO2021179493A1 (zh) * | 2020-03-09 | 2021-09-16 | 平安科技(深圳)有限公司 | 基于微服务的负载均衡方法、装置、设备及存储介质 |
CN114928635A (zh) * | 2021-02-02 | 2022-08-19 | 嘉联支付有限公司 | 一种微服务调用方法及相关设备 |
EP4193302A1 (en) * | 2020-08-05 | 2023-06-14 | Avesha, Inc. | Performing load balancing self adjustment within an application environment |
US12095874B2 (en) | 2022-08-29 | 2024-09-17 | Acante, Inc. | Sensitive data classification for micro-service applications |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812488A (zh) * | 2016-05-06 | 2016-07-27 | 深圳前海大数点科技有限公司 | 云计算分布式服务集群系统及其方法 |
CN108270818A (zh) * | 2016-12-30 | 2018-07-10 | 中国移动通信集团公司 | 一种微服务架构系统及其访问方法 |
CN108933807A (zh) * | 2017-05-27 | 2018-12-04 | 广州市呼百应网络技术股份有限公司 | 一种分层式项目服务平台 |
CN109672612A (zh) * | 2018-12-13 | 2019-04-23 | 中国电子科技集团公司电子科学研究院 | Api网关系统 |
-
2019
- 2019-05-20 CN CN201910420826.6A patent/CN110149397A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812488A (zh) * | 2016-05-06 | 2016-07-27 | 深圳前海大数点科技有限公司 | 云计算分布式服务集群系统及其方法 |
CN108270818A (zh) * | 2016-12-30 | 2018-07-10 | 中国移动通信集团公司 | 一种微服务架构系统及其访问方法 |
CN108933807A (zh) * | 2017-05-27 | 2018-12-04 | 广州市呼百应网络技术股份有限公司 | 一种分层式项目服务平台 |
CN109672612A (zh) * | 2018-12-13 | 2019-04-23 | 中国电子科技集团公司电子科学研究院 | Api网关系统 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110602115A (zh) * | 2019-09-19 | 2019-12-20 | 郑明达 | 一种基于微服务的安全决策方法及系统 |
CN110602115B (zh) * | 2019-09-19 | 2022-03-29 | 郑明达 | 一种基于微服务的安全决策方法及系统 |
CN111225030A (zh) * | 2019-12-16 | 2020-06-02 | 航天信息股份有限公司 | 一种基于信任评估策略对微服务进行选择的方法及系统 |
CN110944067A (zh) * | 2019-12-27 | 2020-03-31 | 华为技术有限公司 | 一种负载均衡方法和服务器 |
CN111291360A (zh) * | 2020-01-21 | 2020-06-16 | 中电福富信息科技有限公司 | 基于服务治理的大数据权限管理方法及系统 |
CN111291360B (zh) * | 2020-01-21 | 2023-05-26 | 中电福富信息科技有限公司 | 基于服务治理的大数据权限管理方法及系统 |
WO2021179493A1 (zh) * | 2020-03-09 | 2021-09-16 | 平安科技(深圳)有限公司 | 基于微服务的负载均衡方法、装置、设备及存储介质 |
CN111638972A (zh) * | 2020-05-07 | 2020-09-08 | 北京仁科互动网络技术有限公司 | 基于微服务的请求响应方法、系统、设备及存储介质 |
CN111638972B (zh) * | 2020-05-07 | 2023-09-01 | 北京仁科互动网络技术有限公司 | 基于微服务的请求响应方法、系统、设备及存储介质 |
CN111880908A (zh) * | 2020-06-28 | 2020-11-03 | 北京沃东天骏信息技术有限公司 | 分布式事务的处理方法、装置及存储介质 |
EP4193302A1 (en) * | 2020-08-05 | 2023-06-14 | Avesha, Inc. | Performing load balancing self adjustment within an application environment |
CN112346899B (zh) * | 2020-11-06 | 2024-02-09 | 北京北信源软件股份有限公司 | 微服务性能优化方法及装置 |
CN112346899A (zh) * | 2020-11-06 | 2021-02-09 | 北京北信源软件股份有限公司 | 微服务性能优化方法及装置 |
CN112448848A (zh) * | 2020-11-13 | 2021-03-05 | 上海电器科学研究所(集团)有限公司 | 一种基于微服务自动扩容方法 |
CN112506630A (zh) * | 2020-12-01 | 2021-03-16 | 国科晋云技术有限公司 | 一种多域服务平台架构 |
CN112671882A (zh) * | 2020-12-18 | 2021-04-16 | 上海安畅网络科技股份有限公司 | 一种基于微服务的同城双活系统和方法 |
CN112671882B (zh) * | 2020-12-18 | 2022-03-01 | 上海安畅网络科技股份有限公司 | 一种基于微服务的同城双活系统和方法 |
CN112738220A (zh) * | 2020-12-28 | 2021-04-30 | 杭州迪普科技股份有限公司 | 服务器集群的管理方法、负载均衡方法和负载均衡设备 |
CN112738220B (zh) * | 2020-12-28 | 2023-02-28 | 杭州迪普科技股份有限公司 | 服务器集群的管理方法、负载均衡方法和负载均衡设备 |
CN112769828A (zh) * | 2021-01-11 | 2021-05-07 | 深圳市洪堡智慧餐饮科技有限公司 | 一种基于sanic异步微服务方法 |
CN112769828B (zh) * | 2021-01-11 | 2022-12-02 | 广西洪堡智链科技有限公司 | 一种基于sanic异步微服务方法 |
CN112968943A (zh) * | 2021-02-01 | 2021-06-15 | 国网安徽省电力有限公司 | 一种电力协同平台 |
CN114928635A (zh) * | 2021-02-02 | 2022-08-19 | 嘉联支付有限公司 | 一种微服务调用方法及相关设备 |
CN113032000A (zh) * | 2021-03-22 | 2021-06-25 | 四川众信佳科技发展有限公司 | 一种智能运营数据管理装置、方法和计算机系统 |
CN113381947A (zh) * | 2021-04-15 | 2021-09-10 | 北京开元华创信息技术有限公司 | 一种数据交换一体机 |
US12095874B2 (en) | 2022-08-29 | 2024-09-17 | Acante, Inc. | Sensitive data classification for micro-service applications |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110149397A (zh) | 一种微服务整合方法和装置 | |
JP7252356B2 (ja) | モバイルエッジコンピューティングノードの選択方法、装置及びシステム並びにコンピュータプログラム | |
Hosseinioun et al. | aTask scheduling approaches in fog computing: A survey | |
US10700979B2 (en) | Load balancing for a virtual networking system | |
WO2020228505A1 (zh) | 一种移动边缘计算节点的选择方法、装置及系统 | |
US11616831B1 (en) | Point to node in a multi-tiered middleware environment | |
US9021245B2 (en) | Applying settings in a cloud computing environment based on geographical region | |
US20090327460A1 (en) | Application Request Routing and Load Balancing | |
US11095716B2 (en) | Data replication for a virtual networking system | |
US9276860B2 (en) | Distributed data center technology | |
US9065832B2 (en) | Method and apparatus for automated network connectivity for managed application components within a cloud | |
US20090210513A1 (en) | Asynchronous automated routing of user to optimal host | |
EP2633667A2 (en) | System and method for on the fly protocol conversion in obtaining policy enforcement information | |
US9354940B2 (en) | Provisioning tenants to multi-tenant capable services | |
CN109819055A (zh) | 一种同时支持Ribbon和Eureka实现负载均衡的方法 | |
JP2017524314A (ja) | プログラマティックインターフェースに従ったルータ情報の提供 | |
US20180091631A1 (en) | Systems and methods for writing prioritized http/2 data to a socket buffer | |
US20210314371A1 (en) | Network-based media processing (nbmp) workflow management through 5g framework for live uplink streaming (flus) control | |
EP3170089B1 (en) | Brokering data access requests and responses | |
Rocha et al. | CNS-AOM: design, implementation and integration of an architecture for orchestration and management of cloud-network slices | |
WO2012034397A1 (zh) | 一种实现cdn互连的方法和系统 | |
US10958580B2 (en) | System and method of performing load balancing over an overlay network | |
CN110912966A (zh) | 一种基于集装和隔离机制容器化的高速公路门架系统 | |
CN104468832B (zh) | 一种基于http协议的轻便分布式架构 | |
CN110138872B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190820 |