CN113160024A - 基于微服务架构的业务管理系统及方法 - Google Patents
基于微服务架构的业务管理系统及方法 Download PDFInfo
- Publication number
- CN113160024A CN113160024A CN202110481992.4A CN202110481992A CN113160024A CN 113160024 A CN113160024 A CN 113160024A CN 202110481992 A CN202110481992 A CN 202110481992A CN 113160024 A CN113160024 A CN 113160024A
- Authority
- CN
- China
- Prior art keywords
- service
- module
- service request
- request
- consumer
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 61
- 230000008569 process Effects 0.000 claims abstract description 24
- 238000012795 verification Methods 0.000 claims abstract description 23
- 238000007726 management method Methods 0.000 claims description 66
- 238000012544 monitoring process Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 17
- 230000015556 catabolic process Effects 0.000 claims description 11
- 238000006731 degradation reaction Methods 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000011084 recovery Methods 0.000 claims description 4
- 230000036541 health Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 16
- 241000700189 Hystrix <Rodentia> Species 0.000 description 8
- 230000009471 action Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 241000412611 Consul Species 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000003862 health status Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 239000012190 activator Substances 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007664 blowing Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000004382 visual function Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Educational Administration (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于微服务架构的业务管理系统及方法,本发明涉及分布式架构技术领域,该方法包括:前端模块接收用户发起的业务请求;服务网关模块对业务请求进行安全验证,安全验证通过后,从注册中心获取业务请求对应的目标服务消费者模块的配置信息,将业务请求路由至目标服务消费者模块;服务消费者模块基于预设的负载均衡策略,确定业务请求需要调用的目标服务提供者模块,将业务请求路由至目标服务提供者模块;服务提供者模块处理业务请求,返回业务请求的处理结果,前端模块向用户显示业务请求的处理结果,本发明提高了业务管理的效率和灵活性。
Description
技术领域
本发明涉及分布式架构技术领域,特别涉及一种基于微服务架构的业务管理系统及方法。
背景技术
业务管理涉及理论学习、舆论宣传、基层组织建设、干部工作、人才队伍建设、纪检监察工作等多种类型的业务,现有技术主要采用原始的手工方式,通过人工力量手动汇总、分类、查询各种业务信息,文档形式包括excel、word等格式,这种方式的人力成本很高,多为单一重复性劳动,且存在易出错易丢失等问题,效率低。
此外,现有技术还采用了软件系统,例如基于云平台构建智慧系统,但是这种软件系统是为某些特定业务场景研制的,以APP或者BS架构为主,后台将众多功能耦合为一个服务程序。由于业务类形式较多且不断与时俱进而创新,当需要新增某种业务或修改原有某种业务时,程序主体需要修改并重新上线,系统受波及程度高,可扩展性、维护性、灵活性不足。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供一种基于微服务架构的业务管理系统,用以提高业务管理的效率和灵活性,该系统包括:
前端模块、服务网关模块、注册中心、多个服务消费者模块,以及多个服务提供者模块,其中:
前端模块,用于接收用户发起的业务请求;向用户显示业务请求的处理结果;
服务网关模块,用于对业务请求进行安全验证,在安全验证通过后,从注册中心获取业务请求对应的目标服务消费者模块的配置信息,将业务请求路由至目标服务消费者模块;其中,注册中心存储有多个服务消费者模块,以及多个服务提供者模块的配置信息;
服务消费者模块,用于基于预设的负载均衡策略,确定业务请求需要调用的目标服务提供者模块,从注册中心获取目标服务提供者模块的配置信息,将业务请求路由至目标服务提供者模块;
服务提供者模块,用于处理业务请求,返回业务请求的处理结果。
本发明实施例提供一种基于微服务架构的业务管理方法,用以提高业务管理的效率和灵活性,该方法包括:
前端模块接收用户发起的业务请求;
服务网关模块对业务请求进行安全验证,在安全验证通过后,从注册中心获取业务请求对应的目标服务消费者模块的配置信息,将业务请求路由至目标服务消费者模块;其中,注册中心存储有多个服务消费者模块,以及多个服务提供者模块的配置信息;
服务消费者模块基于预设的负载均衡策略,确定业务请求需要调用的目标服务提供者模块,从注册中心获取目标服务提供者模块的配置信息,将业务请求路由至目标服务提供者模块;
服务提供者模块处理业务请求,返回业务请求的处理结果;
前端模块向用户显示业务请求的处理结果。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于微服务架构的业务管理方法。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有执行上述基于微服务架构的业务管理方法的计算机程序。
本发明实施例通过:前端模块接收用户发起的业务请求;服务网关模块对业务请求进行安全验证,在安全验证通过后,从注册中心获取业务请求对应的目标服务消费者模块的配置信息,将业务请求路由至目标服务消费者模块;其中,注册中心存储有多个服务消费者模块,以及多个服务提供者模块的配置信息;服务消费者模块基于预设的负载均衡策略,确定业务请求需要调用的目标服务提供者模块,从注册中心获取目标服务提供者模块的配置信息,将业务请求路由至目标服务提供者模块;服务提供者模块处理业务请求,返回业务请求的处理结果;前端模块向用户显示业务请求的处理结果,进而基于微服务架构将多种类型的业务独立出来形成多个服务消费者模块和多个服务提供者模块,通过服务调用的方式实现了业务请求的自动处理,提高了业务管理的效率和灵活性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中基于微服务架构的业务管理系统结构的示意图;
图2为本发明实施例中基于微服务架构的业务管理系统整体架构的示意图;
图3为本发明实施例中基于微服务架构的业务管理系统另一结构的示意图;
图4为本发明实施例中基于微服务架构的业务管理方法流程的示意图;
图5为图4中步骤402的具体流程的示意图。
图6为图4中步骤404的具体流程的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、方法或计算机程序产品。因此,本发明公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
本发明实施例提供一种基于微服务架构的业务管理系统,用以提高业务管理的效率和灵活性,图1为本发明实施例中基于微服务架构的业务管理系统结构的示意图,如图1所示,该系统包括:
前端模块01、服务网关模块02、注册中心03、多个服务消费者模块04,以及多个服务提供者模块05,其中:
前端模块01,用于接收用户发起的业务请求;向用户显示业务请求的处理结果;
服务网关模块02,用于对业务请求进行安全验证,在安全验证通过后,从注册中心03获取业务请求对应的目标服务消费者模块的配置信息,将业务请求路由至目标服务消费者模块04;其中,注册中心03存储有多个服务消费者模块04,以及多个服务提供者模块05的配置信息;
服务消费者模块04,用于基于预设的负载均衡策略,确定业务请求需要调用的目标服务提供者模块05,从注册中心03获取目标服务提供者模块05的配置信息,将业务请求路由至目标服务提供者模块05;
服务提供者模块05,用于处理业务请求,返回业务请求的处理结果。
如图1所示,本发明实施例通过:前端模块接收用户发起的业务请求;服务网关模块对业务请求进行安全验证,在安全验证通过后,从注册中心获取业务请求对应的目标服务消费者模块的配置信息,将业务请求路由至目标服务消费者模块;其中,注册中心存储有多个服务消费者模块,以及多个服务提供者模块的配置信息;服务消费者模块基于预设的负载均衡策略,确定业务请求需要调用的目标服务提供者模块,从注册中心获取目标服务提供者模块的配置信息,将业务请求路由至目标服务提供者模块;服务提供者模块处理业务请求,返回业务请求的处理结果;前端模块向用户显示业务请求的处理结果,进而基于微服务架构将多种类型的业务独立出来形成多个服务消费者模块和多个服务提供者模块,通过服务调用的方式实现了业务请求的自动处理,提高了业务管理的效率和灵活性。
图2为本发明实施例中基于微服务架构的业务管理系统整体架构的示意图如图2所示,本发明实施例基于微服务架构,集成前端模块01、服务网关模块02、注册中心03、多个服务消费者模块04和多个服务提供者模块05,微服务是更细维度的服务,小到一个子模块,只要该模块依赖的资源与其他模块都没有关系,那么就可以拆分为一个微服务。微服务具备以下特征:微服务相互独立,可方便的独立部署;服务独立维护,分工明确,开发成本低;系统对新增业务需求,可灵活扩展。
微服务是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。
本发明实施例中基于微服务架构进行业务管理的整体流程是:服务提供者模块05按照指定格式的服务接口描述,向注册中心03注册服务,声明自己能够提供的具体业务种类以及服务的地址,完成服务发布;服务消费者模块04请求注册中心03,查询所需要调用的服务提供者模块05的地址,然后以约定的通信协议向服务提供者模块05发起请求,得到请求结果后再按照约定的协议解析结果。
在业务服务调用过程中,服务的请求耗时、调用量以及成功率等指标都会被记录下来用作监控,调用经过的链路信息会被记录下来,用于故障定位和问题追踪。在这期间,如果调用失败,可以通过重试、熔断、降级等服务治理手段来保证成功率。
下面,对本发明实施例中基于微服务架构进行业务管理系统的各个模块进行详细介绍。
如图2所示,前端模块01负责与用户的直接交互,将用户发起的业务请求传递给后台,以及将后台返回的业务请求的处理结果展示给用户。前端模块01与用户交互的形式有多种,如网页、APP、小程序,以及无界面的客户端程序等,前端模块01 在业务管理系统中必不可少,本发明实施例中前端模块01采用当前主流的Web网页形式交互,具有便捷、轻量、易扩展等特点。
前端模块01所支持的业务可以包括:人员信息管理、组织机构管理、组织生活管理、系统权限管理、政治理论学习、活动分享、工作建议与改进等多种业务,还可以包括其他业务,本发明不以此为限定。具体的,前端模块01接收到用户发起的业务请求后,通过Http协议与后台的服务网关模块02进行交互,前端模块01的开发框架可以使用渐进式框架Vue,Vue被设计为可以自底向上逐层应用,Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合,此外,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。
在一个实施例中,服务网关模块02具体用于:
对业务请求的token信息进行验证;
在token信息验证通过后,对业务请求执行gateway预设的断言处理和过滤处理;
从注册中心获取业务请求对应的目标服务消费者模块的配置信息,将断言处理和过滤处理后的业务请求路由至目标服务消费者模块。
具体实施时,服务网关模块02为介于前端模块01与后台各微服务之间的网关层,可以理解为“门卫”的角色,以确保后台微服务对前端模块01的透明,服务网关模块 02能够实现反向路由、安全认证、灰度发布等前置功能。由于后台微服务采用的开发框架为SpringCloud,因此服务网关模块02使用Spring社区自研的Gateway,服务网关模块02可通过配置predicates属性实现服务断言,包括path字段配置路由匹配功能,Cookie及Header字段配置安全认证功能,After字段配置灰度发布功能等,服务网关模块02也可通过Filter接口的自定义实现,完成对特定路径的过滤功能,即在调用后台业务服务之前完成预设的动作。同时,服务网关模块02中集成了jjwt组件,实现Json Web Token的生成(含加密、解密、有效期等)、验证,也可以通过 skip-auth-urls的配置跳过指定路径的拦截过滤。服务网关模块02过滤业务请求后,会在注册中心03寻找业务请求对应的目标服务消费者模块04的配置信息,并进行调用。
在一个实施例中,注册中心03用于:基于分布式存储器存储多个服务消费者模块04,以及多个服务提供者模块05的配置信息,其中,配置信息至少包括:服务名称、地址信息和端口信息。
在一个实施例中,注册中心03还用于:对多个服务消费者模块04,以及多个服务提供者模块05的健康状态信息和配置信息进行可视化监控。
具体实施时,注册中心03为各微服务注册、发现、管理的核心模块,后台所有的微服务均注册在注册中心03,注册中心03负责维护管理多个服务消费者模块04,以及多个服务提供者模块05的配置信息,供其它微服务发现和调用,为保证可用性,通常基于分布式kv存储器来实现。注册中心03使用consul,启动consul服务端后,各微服务可通过discovery属性进行服务注册,如通过service-name字段配置服务名称,通过health-check-url和health-check-interval分别配置服务状态监控检查的路径以及心跳间隔等,从而保证服务的状态管理。同时,注册中心03可通过consul提供的可视化页面对已注册的服务进行状态监控,包括健康状态、服务名称、地址及端口等。
在一个实施例中,服务消费者模块04还用于:
在业务请求需要调用的目标服务提供者模块异常时,对业务请求进行服务降级处理,将服务降级处理结果返回前端模块。
具体实施时,服务消费者模块04负责接收服务网关模块02传递过来的业务请求,如图2所示,服务消费者模块04可以包括:人员信息管理消费者模块、组织机构消费者模块、组织生活管理消费者模块、系统权限管理消费者模块、政治理论学习消费者模块、活动分享消费者模块、工作建议与改进类消费者模块等模块。服务消费者模块04可以基于预设的负载均衡策略,确定业务请求需要调用的目标服务提供者模块05,并从注册中心03获取目标服务提供者模块05的配置信息,将业务请求路由至目标服务提供者模块05。
具体的,当有多个服务提供者模块05提供同一业务服务时,服务消费者模块04 通过负载均衡策略(支持自定义)选择性路由调用,当某个或某些服务提供者模块 05出现超时、宕机、断网等异常时,服务消费者模块04可以通过服务降级对用户进行友好的提示。对于所有的服务提供者模块05的调用,服务消费者模块04都具备日志记录功能,并可以设置日志的级别。本发明实施例中,服务消费者模块04采用的 RPC(Remote Procedure CallProtocol)框架为SpringCloud嵌入的OpenFeign组件,通过内置ribbon的NFLoadBalancerRuleClassName属性可指定负载均衡策略,通过嵌入及配置SpringCloud的hystrix组件,可实现服务降级的功能,通过 MetadataFeignServiceI属性可以完成日志等级的配置(也可以通过配置类进行自定义)。
在一个实施例中,服务提供者模块05具体用于:
用于根据业务请求,通过访问MySQL数据库处理业务;
在处理业务过程中需要对MySQL数据库中的信息进行新增、更新或删除操作时,若操作失败,基于数据库事务对与数据库相关的操作进行回滚恢复;
在处理业务过程中出现异常的次数大于预设阈值时,进行服务熔断处理,断开服务提供者模块。
具体实施时,服务提供者模块05为各种业务逻辑,如图2所示,包括:人员信息管理提供者模块、组织机构提供者模块、组织生活管理提供者模块、系统权限管理提供者模块、政治理论学习提供者模块、活动分享消费者模块、工作建议与改进类消费者模块等模块。服务提供者模块05从上到下依次为控制层(负责接收路由请求)、服务层(负责业务逻辑处理)、持久层(负责底层数据库的操作)。本发明实施例中,服务提供者模块05的服务层通过嵌入及配置SpringCloud的hystrix组件实现服务熔断策略,即在配置的时间范围内,当服务请求超过预设数量,且错误请求或者服务响应异常达到阈值,则断开服务并友好返回。当该服务恢复后,再闭合断路器(恢复服务);服务提供者模块05使用MySQL数据库作为工作的数据载体,设计、存储相应的数据信息,在服务层使用Spring内置的Transactional,保证业务逻辑中操作数据库事务的一致性,并通过AOP技术实现环绕通知;服务提供者模块05的持久层采用 MyBatis框架以及Druid数据库连接池,利用MBG(MyBatis Generator)逆向工程,根据数据库表单直接生成持久层中与其对应的数据结构代码,简化开发。
MySQL数据用于业务管理系统的数据存储,业务管理工作伴随着大量的数据信息,数据存储方式虽不限于数据库,也可采用文本文件、redis缓存、甚至二进制文件等其它形式存储,但是采用合适的数据库存储符合当前主流的数据存储设计,也符合业务管理工作数据多样性的特点。MySQL数据库具有性能卓越、开源、安装方便、易于维护、支持多种操作系统及语言等特点,因而本发明实施例采用MySQL数据库作为管理系统数据存储技术。
图3为本发明实施例中基于微服务架构的业务管理系统另一结构的示意图,如图3所示,在一个实施例中,该系统还包括:监控模块06,用于:对多个服务消费者模块04,以及多个服务提供者模块05的调用状态进行可视化监控,其中,调用状态包括:服务调用的成功次数、服务熔断次数、错误请求次数、超时次数、线程池拒绝失败次数的其中之一或任意组合。
具体实施时,监控模块06负责对多个服务消费者模块04,以及多个服务提供者模块05之间的调用状态进行监控和数据展示。监控模块06主要面向运维人员,方便其了解系统实时状态、系统历史调用信息等,以图表形式可视化展示系统信息,从而提升管理系统运维人员的工作效率。监控模块06可以采用Hystrix提供的Dashboard,完成微服务调用状态的信息监控,但是需要结合spring-boot-actuator模块一起使用。 Hystrix主要用来实时监控Hystrix的各项指标信息,通过Hystrix Dashboard反馈的实时信息,可以帮助我们快速发现系统中存在的问题。监控模块06独自形成微服务,并注册到注册中心03,可通过可视化网页界面直接观测到服务调用情况(图形和报表),包括被监控服务调用的成功次数、服务熔断次数、错误请求次数、超时次数、线程池拒绝失败次数和断路器开关状态等。
基于同一发明构思,本发明实施例中还提供了一种基于微服务架构的业务管理方法,如下面的实施例。由于基于微服务架构的业务管理方法解决问题的原理与基于微服务架构的业务管理系统相似,因此方法的实施可以参见系统的实施,重复之处不再赘述。
本发明实施例提供一种基于微服务架构的业务管理方法,用以提高业务管理的效率和灵活性,图4为本发明实施例中基于微服务架构的业务管理方法流程的示意图,如图4所示,该方法包括:
步骤401:前端模块接收用户发起的业务请求;
步骤402:服务网关模块对业务请求进行安全验证,在安全验证通过后,从注册中心获取业务请求对应的目标服务消费者模块的配置信息,将业务请求路由至目标服务消费者模块;其中,注册中心存储有多个服务消费者模块,以及多个服务提供者模块的配置信息;
步骤403:服务消费者模块基于预设的负载均衡策略,确定业务请求需要调用的目标服务提供者模块,从注册中心获取目标服务提供者模块的配置信息,将业务请求路由至目标服务提供者模块;
步骤404:服务提供者模块处理业务请求,返回业务请求的处理结果;
步骤405:前端模块向用户显示业务请求的处理结果。
图5为图4中步骤402的具体流程的示意图,如图5所示,在一个实施例中,步骤402中,服务网关模块对业务请求进行安全验证,在安全验证通过后,从注册中心获取业务请求对应的目标服务消费者模块的配置信息,将业务请求路由至目标服务消费者模块,包括:
步骤501:对业务请求的token信息进行验证;
步骤502:在token信息验证通过后,对业务请求执行gateway预设的断言处理和过滤处理;
步骤503:从注册中心获取业务请求对应的目标服务消费者模块的配置信息,将断言处理和过滤处理后的业务请求路由至目标服务消费者模块。
在一个实施例中,该方法还包括:注册中心基于分布式存储器存储多个服务消费者模块,以及多个服务提供者模块的配置信息,其中,配置信息至少包括:服务名称、地址信息和端口信息。
在一个实施例中,该方法还包括:注册中心对多个服务消费者模块,以及多个服务提供者模块的健康状态信息和配置信息进行可视化监控。
在一个实施例中,该方法还包括:
服务消费者模块在业务请求需要调用的目标服务提供者模块异常时,对业务请求进行服务降级处理,将服务降级处理结果返回前端模块。
图6为图4中步骤404的具体流程的示意图,如图6所示,在一个实施例中,步骤404中服务提供者模块处理业务请求,返回业务请求的处理结果,可以包括:
步骤601:服务提供者模块根据业务请求,通过访问MySQL数据库处理业务;
步骤602:在处理业务过程中需要对MySQL数据库中的信息进行新增、更新或删除操作时,若操作失败,基于数据库事务对与数据库相关的操作进行回滚恢复;
步骤603:在处理业务过程中出现异常的次数大于预设阈值时,进行服务熔断处理,断开服务提供者模块。
在一个实施例中,该方法还包括:
监控模块对多个服务消费者模块,以及多个服务提供者模块的调用状态进行可视化监控,其中,调用状态包括:服务调用的成功次数、服务熔断次数、错误请求次数、超时次数、线程池拒绝失败次数的其中之一或任意组合。
下面举一个具体的例子,以便于理解本发明如何实施。
第一步:启动业务流程之前,首先启动注册中心consul(包括下载、安装、配置、启动),注册中心既负责其它微服务的注册、发现,同时也可以对各微服务健康状态进行检查,并提供可视化功能,启动consul后,运维人员通过前端模块输入启动时配置的地址和端口,就能实时监控到注册到该注册中心的各个微服务的信息;然后,依次启动Mysql数据库、服务网关模块、各个服务消费者模块、各个服务提供者模块等组件;
第二步:在用户希望查询某位人员的详细信息时,通过前端模块中的人员信息页面,输入人员姓名(可附带员工编号、所属部门、所属支部等筛选条件)等信息,发起人员信息查询请求,前端模块将人员信息查询请求转化为Restful风格的Get请求,通过Http协议,发送至服务网关模块。
第三步:服务网关模块收到人员信息查询请求后,首先对token信息进行验证,验证其有效期等配置的签发信息是否合法,若非法则原路返回相应的错误到前端模块,结束本次请求。若验证合法则执行gateway预设的过滤、断言动作(如日志记录、判断此次调用服务时间是否在该服务发布时间之后等),然后,在注册中心寻找人员信息查询请求对应的目标服务消费者模块的配置信息,即人员信息管理消费者模块的配置信息,并将人员信息查询请求路由至人员信息管理消费者模块;
第四步:人员信息管理消费者模块接收到人员信息查询请求后,首先根据配置的日志等级决定是否进行日志记录;然后,根据预设的负载均衡策略(如随机、轮询、自定义等),从能够提供人员信息查询服务的多个人员信息管理提供者模块中选取一个人员信息管理提供者模块进行请求路由。需要说明的是,所有人员信息管理提供者模块的地址、端口、服务名称等信息,均是通过注册中心获取。若负载均衡后所调用的人员信息管理提供者模块出现异常(如超时、宕机、处理错误等),则触发人员信息管理消费者模块的服务降级功能,即调用预定义的接口并按照原路返回到前端模块,显示给用户;
第五步:人员信息管理提供者模块接收到人员信息查询请求后,根据路径匹配相应的查询接口,并从人员信息查询请求中获取人员姓名(可附带员工编号、所属部门、所属支部等筛选条件)作为接口参数信息,查询请求通过AOP(面向切面编程)技术,在查询动作之前、之后通过日志进行记录此次操作,在出现异常时通知技术抛出异常,并最终通知技术记录此次调用是否成功。人员信息查询动作过程中若涉及新增、更新、删除等操作动作,则通过事务功能来保证数据库的一致性(即有一处数据库操作失败,本事务内所有数据操作都进行回滚恢复)。人员信息查询动作通过SQL语句访问MySQL数据库,依据查询条件查询出结果,最终以JSON格式按照原路返回至前端模块并在网页上向用户展示。若人员信息管理提供者模块提供服务过程中自身出现异常(如数据库访问失败等),且在配置的单位时间内,满足预设的次数和失败率阈值,则触发服务熔断(即进入本服务的备用方法接口,按照原路返回友好提示)。
第六步:在业务管理系统使用过程中,通过启动Hystrix提供的Dashboard监控模块,对各个服务消费者模块以及各个服务提供者模块之间的调用状态进行监控。运维人员在网页输入配置的监控模块的IP地址和端口(默认9001),打开hystrix监控主页,然后,根据提示在监控台输入希望监控的微服务地址并点击Monitor确认,即可完成对该微服务调用情况的实时监控,包括被监控服务调用的成功数、熔断数、错误请求数、超时数、线程池拒绝失败、断路器开关状态等。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于微服务架构的业务管理方法。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有执行上述基于微服务架构的业务管理方法的计算机程序。
综上所述,本发明实施例提供的基于微服务架构的业务管理系统和方法具有如下优点:
(1)面向用户提供一种直观友好的网页界面,用户可根据自身的需求、权限操作工作的相关内容(如信息更新、分类检索、数据汇总等)。普通用户可通过网页填写或上传相关的工作内容,管理用户可通过网页进行信息查询、数据汇总下载等;
(2)基于微服务架构,集成服务网关模块、监控模块、注册中心、多个服务消费者模块和多个服务提供者模块,采用SQL数据库作为信息存储组件,将多种类型的业务以独立、解耦的微服务形式形成多个服务消费者模块和多个服务提供者模块,分别注册到服务注册中心,通过服务调用的方式实现了业务请求的自动处理,提高了业务管理的效率,并且实现了不同业务之间的解耦以及单个业务服务的灵活上下线,当需要新增一种业务服务时,仅需将该业务形成的微服务注册到注册中心,当某业务服务需要下线时,从服务注册中心注销掉即可,提高了业务管理的可拓展性和灵活性;
(3)将多种类型的业务以独立、解耦的微服务形式形成多个服务消费者模块和多个服务提供者模块,涵盖负载均衡、服务降级、服务熔断等技术,进一步提高了业务管理的效率;
(4)微服务以服务网关模块入口,服务网关模块涵盖路由过滤、断言、Token签发验证等功能,能够提高业务管理的安全性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等) 上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于微服务架构的业务管理系统,其特征在于,包括:前端模块、服务网关模块、注册中心、多个服务消费者模块,以及多个服务提供者模块,其中:
前端模块,用于接收用户发起的业务请求;向用户显示业务请求的处理结果;
服务网关模块,用于对业务请求进行安全验证,在安全验证通过后,从注册中心获取业务请求对应的目标服务消费者模块的配置信息,将业务请求路由至目标服务消费者模块;其中,注册中心存储有多个服务消费者模块,以及多个服务提供者模块的配置信息;
服务消费者模块,用于基于预设的负载均衡策略,确定业务请求需要调用的目标服务提供者模块,从注册中心获取目标服务提供者模块的配置信息,将业务请求路由至目标服务提供者模块;
服务提供者模块,用于处理业务请求,返回业务请求的处理结果。
2.如权利要求1所述的系统,其特征在于,服务网关模块具体用于:
对业务请求的token信息进行验证;
在token信息验证通过后,对业务请求执行gateway预设的断言处理和过滤处理;
从注册中心获取业务请求对应的目标服务消费者模块的配置信息,将断言处理和过滤处理后的业务请求路由至目标服务消费者模块。
3.如权利要求1所述的系统,其特征在于,注册中心用于:基于分布式存储器存储多个服务消费者模块,以及多个服务提供者模块的配置信息,其中,配置信息至少包括:服务名称、地址信息和端口信息。
4.如权利要求3所述的系统,其特征在于,注册中心还用于:对多个服务消费者模块,以及多个服务提供者模块的健康状态信息和配置信息进行可视化监控。
5.如权利要求1所述的系统,其特征在于,服务消费者模块还用于:
在业务请求需要调用的目标服务提供者模块异常时,对业务请求进行服务降级处理,将服务降级处理结果返回前端模块。
6.如权利要求1所述的系统,其特征在于,服务提供者模块具体用于:
用于根据业务请求,通过访问MySQL数据库处理业务;
在处理业务过程中需要对MySQL数据库中的信息进行新增、更新或删除操作时,若操作失败,基于数据库事务对与数据库相关的操作进行回滚恢复;
在处理业务过程中出现异常的次数大于预设阈值时,进行服务熔断处理,断开服务提供者模块。
7.如权利要求1所述的系统,其特征在于,还包括:监控模块,用于:对多个服务消费者模块,以及多个服务提供者模块的调用状态进行可视化监控,其中,调用状态包括:服务调用的成功次数、服务熔断次数、错误请求次数、超时次数、线程池拒绝失败次数的其中之一或任意组合。
8.一种基于微服务架构的业务管理方法,其特征在于,包括:
前端模块接收用户发起的业务请求;
服务网关模块对业务请求进行安全验证,在安全验证通过后,从注册中心获取业务请求对应的目标服务消费者模块的配置信息,将业务请求路由至目标服务消费者模块;其中,注册中心存储有多个服务消费者模块,以及多个服务提供者模块的配置信息;
服务消费者模块基于预设的负载均衡策略,确定业务请求需要调用的目标服务提供者模块,从注册中心获取目标服务提供者模块的配置信息,将业务请求路由至目标服务提供者模块;
服务提供者模块处理业务请求,返回业务请求的处理结果;
前端模块向用户显示业务请求的处理结果。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求8所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求8所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110481992.4A CN113160024A (zh) | 2021-04-30 | 2021-04-30 | 基于微服务架构的业务管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110481992.4A CN113160024A (zh) | 2021-04-30 | 2021-04-30 | 基于微服务架构的业务管理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113160024A true CN113160024A (zh) | 2021-07-23 |
Family
ID=76873067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110481992.4A Pending CN113160024A (zh) | 2021-04-30 | 2021-04-30 | 基于微服务架构的业务管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113160024A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327949A (zh) * | 2021-12-29 | 2022-04-12 | 商派软件有限公司 | 服务处理系统及其适用的方法 |
CN114500306A (zh) * | 2021-12-21 | 2022-05-13 | 上海赛可出行科技服务有限公司 | 一种基于维度的监控服务自动采样验证方法 |
CN114710403A (zh) * | 2022-03-30 | 2022-07-05 | 中国建设银行股份有限公司 | 数据调度方法、装置、设备、介质及程序产品 |
CN115941772A (zh) * | 2022-11-07 | 2023-04-07 | 平安国际融资租赁有限公司 | 一种第三方服务接入方法、装置、设备及介质 |
CN116132538A (zh) * | 2023-02-17 | 2023-05-16 | 税友软件集团股份有限公司 | 一种多应用间接口调用方法、装置、设备及存储介质 |
CN116319090A (zh) * | 2023-05-18 | 2023-06-23 | 中国电子信息产业集团有限公司第六研究所 | 一种基于微服务的动力与环境监控系统及方法 |
CN116846975A (zh) * | 2023-06-07 | 2023-10-03 | 浪潮智慧科技有限公司 | 一种基于api网关的消费服务方法、设备及介质 |
CN117632922A (zh) * | 2023-11-22 | 2024-03-01 | 东风日产数据服务有限公司 | 基于高并发任务处理的业务运营平台及数据处理方法 |
CN114996098B (zh) * | 2022-06-24 | 2024-04-09 | 中电金信软件有限公司 | 一种异常处理方法及装置 |
WO2024169469A1 (zh) * | 2023-02-15 | 2024-08-22 | 华为云计算技术有限公司 | 一种建立连接的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140025770A1 (en) * | 2012-07-17 | 2014-01-23 | Convergent.Io Technologies Inc. | Systems, methods and devices for integrating end-host and network resources in distributed memory |
CN105515759A (zh) * | 2015-11-27 | 2016-04-20 | 国网信息通信产业集团有限公司 | 一种微服务注册方法及系统 |
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及系统 |
CN109257440A (zh) * | 2018-10-29 | 2019-01-22 | 南京南瑞信息通信科技有限公司 | 一种基于服务注册中心的服务发现和客户端负载均衡方法 |
CN109495559A (zh) * | 2018-11-06 | 2019-03-19 | 用友网络科技股份有限公司 | 微服务客户端的服务注册及调用方法、注册及调用系统 |
CN110532025A (zh) * | 2019-08-30 | 2019-12-03 | 上海复深蓝软件股份有限公司 | 基于微服务架构的数据处理方法、装置、设备及存储介质 |
-
2021
- 2021-04-30 CN CN202110481992.4A patent/CN113160024A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140025770A1 (en) * | 2012-07-17 | 2014-01-23 | Convergent.Io Technologies Inc. | Systems, methods and devices for integrating end-host and network resources in distributed memory |
CN105515759A (zh) * | 2015-11-27 | 2016-04-20 | 国网信息通信产业集团有限公司 | 一种微服务注册方法及系统 |
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及系统 |
CN109257440A (zh) * | 2018-10-29 | 2019-01-22 | 南京南瑞信息通信科技有限公司 | 一种基于服务注册中心的服务发现和客户端负载均衡方法 |
CN109495559A (zh) * | 2018-11-06 | 2019-03-19 | 用友网络科技股份有限公司 | 微服务客户端的服务注册及调用方法、注册及调用系统 |
CN110532025A (zh) * | 2019-08-30 | 2019-12-03 | 上海复深蓝软件股份有限公司 | 基于微服务架构的数据处理方法、装置、设备及存储介质 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500306A (zh) * | 2021-12-21 | 2022-05-13 | 上海赛可出行科技服务有限公司 | 一种基于维度的监控服务自动采样验证方法 |
CN114500306B (zh) * | 2021-12-21 | 2024-01-09 | 上海赛可出行科技服务有限公司 | 一种基于维度的监控服务自动采样验证方法 |
CN114327949A (zh) * | 2021-12-29 | 2022-04-12 | 商派软件有限公司 | 服务处理系统及其适用的方法 |
CN114710403A (zh) * | 2022-03-30 | 2022-07-05 | 中国建设银行股份有限公司 | 数据调度方法、装置、设备、介质及程序产品 |
CN114710403B (zh) * | 2022-03-30 | 2024-04-19 | 中国建设银行股份有限公司 | 数据调度方法、装置、设备、介质及程序产品 |
CN114996098B (zh) * | 2022-06-24 | 2024-04-09 | 中电金信软件有限公司 | 一种异常处理方法及装置 |
CN115941772A (zh) * | 2022-11-07 | 2023-04-07 | 平安国际融资租赁有限公司 | 一种第三方服务接入方法、装置、设备及介质 |
WO2024169469A1 (zh) * | 2023-02-15 | 2024-08-22 | 华为云计算技术有限公司 | 一种建立连接的方法及装置 |
CN116132538A (zh) * | 2023-02-17 | 2023-05-16 | 税友软件集团股份有限公司 | 一种多应用间接口调用方法、装置、设备及存储介质 |
CN116319090B (zh) * | 2023-05-18 | 2023-08-11 | 中国电子信息产业集团有限公司第六研究所 | 一种基于微服务的动力与环境监控系统及方法 |
CN116319090A (zh) * | 2023-05-18 | 2023-06-23 | 中国电子信息产业集团有限公司第六研究所 | 一种基于微服务的动力与环境监控系统及方法 |
CN116846975A (zh) * | 2023-06-07 | 2023-10-03 | 浪潮智慧科技有限公司 | 一种基于api网关的消费服务方法、设备及介质 |
CN116846975B (zh) * | 2023-06-07 | 2024-07-30 | 浪潮智慧科技有限公司 | 一种基于api网关的消费服务方法、设备及介质 |
CN117632922A (zh) * | 2023-11-22 | 2024-03-01 | 东风日产数据服务有限公司 | 基于高并发任务处理的业务运营平台及数据处理方法 |
CN117632922B (zh) * | 2023-11-22 | 2024-04-30 | 东风日产数据服务有限公司 | 基于高并发任务处理的业务运营平台及数据处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113160024A (zh) | 基于微服务架构的业务管理系统及方法 | |
US11443007B2 (en) | System and method for managing network traffic routing | |
KR101891506B1 (ko) | 하나 이상의 클라우드 시스템 상에 애플리케이션들을 이식 가능하게 배치하기 위한 방법들 및 시스템들 | |
CN109559258B (zh) | 教育资源公共服务系统 | |
US7870244B2 (en) | Monitoring performance of applications in a distributed environment | |
CN105938443B (zh) | 用于在计算环境中执行诊断活动的方法和系统 | |
US20050066027A1 (en) | Method of displaying events | |
US20030135611A1 (en) | Self-monitoring service system with improved user administration and user access control | |
US20050060372A1 (en) | Techniques for filtering data from a data stream of a web services application | |
US20020032769A1 (en) | Network management method and system | |
US20060015603A1 (en) | System and method for providing a global real-time advanced correlation environment architecture | |
US20080282321A1 (en) | System and method of managing data protection resources | |
US9411969B2 (en) | System and method of assessing data protection status of data protection resources | |
US7716146B2 (en) | Network management system utilizing a neural network | |
CN111861140A (zh) | 一种业务处理方法、装置、存储介质和电子装置 | |
KR20100066468A (ko) | 네트워크 관리 시스템에서 가속화된 이벤트를 전파하는 방법 및 장치 | |
CN115309566B (zh) | 一种服务接口的动态管理方法及系统 | |
WO2021086523A1 (en) | Support ticket platform for improving network infrastructures | |
US20080208603A1 (en) | Remotely managing enterprise resources | |
CN102508773B (zh) | 基于ie内核的web业务系统仿真监控方法及装置 | |
KR20000012194A (ko) | 통합관리시스템과보안시스템을통합하기위한시스템 | |
US10911329B2 (en) | Path and cadence optimization for efficient data collection from devices | |
CN114338684A (zh) | 一种能源管理系统及方法 | |
CN116992182A (zh) | 一种基于微前端的子应用动态注册与异常监控方法 | |
Ceccarelli et al. | A service discovery approach for testing dynamic SOAs |
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 |