CN113676548B - 基于配置分流部署的微服务流量切换方法、装置和介质 - Google Patents
基于配置分流部署的微服务流量切换方法、装置和介质 Download PDFInfo
- Publication number
- CN113676548B CN113676548B CN202111025919.2A CN202111025919A CN113676548B CN 113676548 B CN113676548 B CN 113676548B CN 202111025919 A CN202111025919 A CN 202111025919A CN 113676548 B CN113676548 B CN 113676548B
- Authority
- CN
- China
- Prior art keywords
- micro
- current flow
- service
- flow
- switching
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004590 computer program Methods 0.000 claims description 4
- 230000001939 inductive effect Effects 0.000 abstract 1
- 239000000178 monomer Substances 0.000 description 7
- 235000014510 cooky Nutrition 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- NOTIQUSPUUHHEH-UXOVVSIBSA-N dromostanolone propionate Chemical compound C([C@@H]1CC2)C(=O)[C@H](C)C[C@]1(C)[C@@H]1[C@@H]2[C@@H]2CC[C@H](OC(=O)CC)[C@@]2(C)CC1 NOTIQUSPUUHHEH-UXOVVSIBSA-N 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005012 migration Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009960 carding Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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
- H04L67/63—Routing a service request depending on the request content or context
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于配置分流部署的微服务流量切换方法、装置和介质。一种基于配置分流部署的微服务流量切换方法包括:读取菜单配置文件中与当前流量对应的流量控制参数;若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目;否则将当前流量切换至容器化项目。本发明公开的基于配置分流部署的微服务流量切换方法、装置和介质,实现用户无感的微服务流量切换。
Description
技术领域
本发明实施例涉及信息处理技术,尤其涉及一种基于配置分流部署的微服务流量切换方法、装置和介质。
背景技术
当前,各应用服务开始采用微服务架构逐步替代原有单体架构以实现模块独立、快速部署,便于代码的快速迭代与持续优化。微服务架构微服务(或称微服务)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。在微服务体系结构中,服务是细粒度的,协议是轻量级的。
但是,对大型复杂单体架构应用服务的微服务改造工作很难在短期内完成微服务改造工作,对于完成微服务改造的模块也需要原单体架构应用作为备用。当因业务需求优化或微服务模块调整等原因需要暂时切换微服务流量至原单体架构应用时,需要手动修改菜单统一资源定位系统(uniform resource locator,url)路径,并重启应用以实现流量切换。
但上述微服务流量切换方法耗时耗力,且会导致在一定的时间内用户无法使用服务。
发明内容
本发明提供一种基于配置分流部署的微服务流量切换方法、装置和介质,能够在不重启应用的前提下,实现临时关闭特定微服务的请求流量,实现用户无感的微服务流量切换。
第一方面,本发明实施例提供了一种基于配置分流部署的微服务流量切换方法,包括:
读取菜单配置文件中与当前流量对应的流量控制参数;
若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目;
否则将当前流量切换至容器化项目。
第二方面,本发明实施例还提供了一种基于配置分流部署的微服务流量切换装置,包括:
读取模块,用于读取菜单配置文件中与当前流量对应的流量控制参数;
判断模块,用于判断当前流量对应的流量控制参数是否指示流量切换至微服务;
切换模块,用于若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目;否则将当前流量切换至容器化项目。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如第一方面的基于配置分流部署的微服务流量切换方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如第一方面的基于配置分流部署的微服务流量切换方法。
本发明实施例提供的基于配置分流部署的微服务流量切换方法、装置和介质,在读取菜单配置文件中与当前流量对应的流量控制参数后,若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目,否则将当前流量切换至容器化项目,实现临时关闭特定微服务的请求流量,实现用户无感的微服务流量切换。
附图说明
图1为本发明实施例提供的一种基于配置分流部署的微服务流量切换方法的流程图;
图2为本发明实施例提供的基于配置分流部署的微服务流量切换方法的流量切换流程图;
图3为本发明实施例提供的另一种基于配置分流部署的微服务流量切换方法的流程图;
图4为本发明实施例提供的基于配置分流部署的微服务流量切换方法的会话管理流程图;
图5为本发明实施例提供的一种基于配置分流部署的微服务流量切换装置的结构示意图;
图6为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明实施例提供的一种基于配置分流部署的微服务流量切换方法的流程图,如图1所示,本实施例提供的基于配置分流部署的微服务流量切换方法包括:
步骤S110,读取菜单配置文件中与当前流量对应的流量控制参数。
本实施例提供的基于配置分流部署的微服务流量切换方法应用于任一种应用服务,该应用服务并存微服务架构和容器化单体架构。该应用服务可以是任一种为用户提供服务的应用服务,例如银行的网银系统。为了解决在应用服务采用微服务架构逐步替换原有单体架构的过程中,业务流量在微服务架构和容器化单体架构间切换时需要重启应用服务的问题,本实施例提出以各业务菜单为原子单位,能够在不重启应用的前提下实现微服务与原单体架构应用服务的快速流量切换,将原单体架构应用服务作为微服务应用的热备用,显著提升服务可靠性,便于对微服务模块的快速迭代优化。
首先,需要在菜单配置文件中配置流量控制参数,当获取到应用服务的当前流量时,从菜单配置文件中读取配置的流量控制参数。菜单配置文件是对应用服务的业务菜单进行配置的规则集合。菜单配置文件中的流量控制参数用于以业务菜单为单位,对各业务菜单对应的流量进行控制。在应用服务同时具有微服务架构和容器化单体架构时,流量控制参数用于指示各业务菜单对应的流量流入微服务项目还是流入容器化项目。
步骤S120,若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目。
由于微服务架构较单体化架构性能更优,因此在已进行微服务架构改造的模块中,可以优先选择将业务流量流入微服务项目。那么在获取当前流量对应的流量控制参数后,即可以判断该流量控制参数是否指示当前流量切换至微服务。若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目。
步骤S130,否则将当前流量切换至容器化项目。
若当前流量对应的流量控制参数并未指示流量切换至微服务,那么就需要将当前流量切换至容器化项目,即原有单体架构。这样就实现了将单体架构作为微服务架构的备份,当因业务需求优化或微服务模块调整等原因需要暂时切换微服务流量至原单体架构应用时,可以无需手动切换以及重启应用实现流量切换。从而实现用户无感的微服务流量切换。
在一实施例中,菜单跳转路径配置在菜单配置文件中,菜单配置文件中包括容器化项目交易跳转路径(transId)和微服务项目交易跳转路径(msentPath)。容器化项目通过读取配置文件获取服务集和功能组id,同时将菜单路径赋值到菜单对象的属性。在确定将当前流量切换至微服务项目时,将当前流量对应的路径设置为微服务项目交易跳转路径;在确定将当前流量切换至容器化项目时,将当前流量对应的路径设置为容器化项目交易跳转路径。
在一实施例中,流量控制参数包括微服务开关参数、微服务模块流量控制参数、微服务菜单流量控制参数。其中微服务开关参数用于控制所有流量是否切换至微服务项目,微服务模块流量控制参数用于控制微服务模块提供的各项业务菜单的流量是否切换至微服务项目,微服务菜单流量控制参数用于控制各项业务菜单的流量是否切换至微服务项目。例如容器化项目中,配置文件中按照流量控制粒度自粗到细分别定义微服务控制参数:微服务开关(msent_open_flag)、微服务模块黑名单(msent_black_serviceNames)以及微服务菜单黑名单(msent_black_functionTransname)。其中,微服务开关用于控制微服务流量,一旦关闭则所有流量全部切换到容器化项目达到微服务屏蔽效果;微服务模块黑名单用于控制某微服务模块的流量,一旦将该模块写入黑名单中,则切换该模块流量至容器化项目;微服务菜单黑名单用于控制原子菜单的流量,一旦将某菜单入口交易写入黑名单,则该菜单流量切换至容器化项目中。
在读取流量控制参数之后,依次判断当前流量是否有对应的微服务项目交易跳转路径、微服务开关参数是否为打开状态、当前流量对应的微服务模块流量控制参数是否为非屏蔽状态、当前流量对应的微服务菜单流量控制参数是否为非屏蔽状态,若均为是则将当前流量切换至微服务项目。
进一步地,为了保证菜单配置文件中的流量控制参数能够及时生效,容器化项目设置固定线程周期性刷新读取配置文件(例如可每分钟读取一次)。配置文件读取后对流量控制参数进行判断,对于某原子菜单,若菜单配置文件中配有该菜单微服务路径,且微服务开关处于打开状态,同时该菜单未处于已被屏蔽的微服务模块或微服务菜单中,则流量切换至微服务项目,菜单对应的路径(clickUrl)为配置文件中所设置的微服务路径(msentPath)。否则,流量切换至容器化项目,菜单对应的路径(clickUrl)为配置文件中所设置的容器化项目路径(transId)。
图2为本发明实施例提供的基于配置分流部署的微服务流量切换方法的流量切换流程图。如图2所示,首先启动容器化项目,并读取菜单配置文件,从菜单配置文件中读取微服务流量控制参数。对于每一微服务模块(图中以模块A和模块B两个模块为例),首先判断是否有当前流量对应的微服务路径(msentPath),若是则判断微服务开关是否为打开状态,若是则判断当前流量对应的菜单微服务模块是否被屏蔽,若未屏蔽则继续判断当前流量对应的菜单是否被屏蔽,若未屏蔽则将当前流量切换至模块A对应的微服务项目。上述任意判断未否则将当前流量切换至容器化项目。其中,微服务流量控制参数是以固定线程周期进行刷新的。
本实施例提供的基于配置分流部署的微服务流量切换方法,在读取菜单配置文件中与当前流量对应的流量控制参数后,若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目,否则将当前流量切换至容器化项目,实现临时关闭特定微服务的请求流量,实现用户无感的微服务流量切换。
图3为本发明实施例提供的另一种基于配置分流部署的微服务流量切换方法的流程图,如图3所示,本实施例提供的基于配置分流部署的微服务流量切换方法包括:
步骤S310,若当前流量从微服务项目切换至容器化项目,或者当前流量从容器化项目切换至微服务项目,则判断当前流量对应的用户的许可标识是否有效。
由于应用服务对应的菜单在微服务项目和容器化项目之间进行切换时,会发生会话漂移的问题,因此还可以对其进行会话管理。本实施例提供的基于配置分流部署的微服务流量切换方法是在图1所示实施例的基础上,进行会话管理的技术方案。
其中,会话管理分为会话数据迁移和会话状态控制两部分。会话数据迁移,是将用户对应的会话数据在容器化项目和微服务项目之间进行迁移。会话数据控制,是控制会话切换后用户的会话状态。
若当前流量从微服务项目切换至容器化项目,或者当前流量从容器化项目切换至微服务项目,也就是只要当前流量发生了切换,则首先判断当前流量对应的用户的许可标识(ticketId)是否有效。用户的许可标识是用户在登录应用服务时获取并保存在本地的,那么用户发送的业务流量中将包括该许可标识,首先判断该许可标识是否有效。其中许可标识有效包括许可标识是否存在,是否满足应用服务的许可标识规则等。
步骤S320,若有效,则从数据库中存储的用户登录记录中查询用户的许可标识是否与当前流量对应的用户的许可标识一致。
由于用户在登录应用服务后,用户的许可标识还会存储于应用服务的服务器中,因此若当前流量对应的用户的许可标识有效,则从服务器的数据库中读取存储的用户登录记录,从用户登录记录中查询该用户的许可标识是否与当前流量对应的用户许可标识一致。
步骤S330,若一致则完成流量切换,否则退出当前流量对应的用户的登录状态。
若许可标识一致则表示该用户是已登录的用户,只是发生的业务流量的切换。此时可以完成流量切换,在切换后的微服务项目或容器化项目中进行业务流量的处理,无需用户重新登录。若许可标识不一致或许可标识无效,则退出当前流量对应的用户登录状态,用户需要重新登录。
在一具体实施例中,实现会话管理的主要方案是用会话(Session)数据存储迁移redis缓存。分为两个部分:Session数据迁移和用户会话状态控制。对于Session数据迁移,采用Redis数据存储并采用哈希表结构进行存储。角色控制命令(RoleControlCommand)中新增许可控制策略(ticketControlPolicy)。ticketControlPolicy用于判断当前Cookie中的ticketId是否有效,当ticketId无效时,服务会抛出错误提示"会话已失效,请重新登录"。会话业务数据主要包含了用户(User)对象和其他业务数据。在本地session无法获取User且用户会话许可(ticket)有效的情况下,会采用免登录的方式重新初始化User。初始化user时需日志记录原使用IP(ticket中存储)以及当前访问IP。应用服务的初始化方案为:根据ticket中保存的用户凭证信息(masterId、登录版本等)初始化User中Ticket以外数据。梳理LoginDispatch和各版本登录交易中关于user初始化逻辑,新增TicketUserManager.java,并封装初始化逻辑封装initUser入TicketUserManager.java,TicketUserManager bean注入mainController,直接调用initUser()方法初始化user。Redis哈希表key的命名规则为:{应用名缩写}.+地点标志+TicketId。TicketId是在第一次访问Redis的时候就生成了。生成规则为:基于时间戳和虚拟随机生成的MAC地址生成128位16进制数。在用户登录后更换TicketId,同时清除原key(应用名缩写+地点标志+旧TicketId)。新增Ticket对象,作为用户登录凭证。ticket对象存储内容为:客户号、登录渠道、登录成功时间等。ticket对象作为标志用户登录后的有效凭证。
对于用户会话状态控制。增加common校验tickedId规则。在原roleControlCommand中新增ticketControlPolicy,用于校验用户当前Cookie中TicketId是否有效。根据Cookie中ticketId获取ticket中客户号,在根据客户号从登录记录(LoginRegistry)中获取对应的有效的ticketId,校验和Cookie中ticketId是否一致,作为用户凭证校验的新增规则。采用Redis存储masterid(客户号)和tickedId的绑定关系。由于绑定关系的key中没有服务器区域标识,无法根据key判断redis服务器所在区域,所以此绑定关系需存储多份,各区域redis服务器都要存储,获取时直接在本服务器所在区域redis服务器获取绑定关系即可。这种绑定关系的有效期为24小时。用于校验当前用户最新有效的Ticket凭证,执行用户重复登录的互踢动作。
同时,增加ticket对象作为用户登陆的凭证。个人ticket属性包括登陆凭证号、客户号、用户唯一ID、用户登录成功与否标志、登陆模式、登陆类型、当前登录认证类型、登陆日期、用户登录系统版本号、用户登录机器码、登陆主机号、登陆版本。
图4为本发明实施例提供的基于配置分流部署的微服务流量切换方法的会话管理流程图。在读取许可控制策略(ticketControlPolicy)后,根据Cookieticketed获取Redisticket,然后判断ticket是否无效(ticket==null),若否,则从Redis LoginRegistry中获取masterId绑定的ticketID,接着判断Cookie ticketed是否与masterId绑定的ticketID一致(Cookie ticketed==masterId绑定的ticketID),若一致则通过校验,否则校验不通过。
图5为本发明实施例提供的一种基于配置分流部署的微服务流量切换装置的结构示意图,如图5所示,本实施例提供的基于配置分流部署的微服务流量切换装置包括:
读取模块51,用于读取菜单配置文件中与当前流量对应的流量控制参数;
判断模块52,用于判断当前流量对应的流量控制参数是否指示流量切换至微服务;
切换模块53,用于若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目;否则将当前流量切换至容器化项目。
本发明实施例所提供的基于配置分流部署的微服务流量切换装置可执行本发明任意实施例所提供的基于配置分流部署的微服务流量切换方法,具备执行方法相应的功能模块和有益效果。
进一步地,在图5所示实施例的基础上,菜单配置文件中包括容器化项目交易跳转路径和微服务项目交易跳转路径;切换模块53,具体用于将当前流量对应的路径设置为微服务项目交易跳转路径;或者将当前流量对应的路径设置为容器化项目交易跳转路径。
进一步地,在图5所示实施例的基础上,流量控制参数包括微服务开关参数、微服务模块流量控制参数、微服务菜单流量控制参数;判断模块52,具体用于依次判断当前流量是否有对应的微服务项目交易跳转路径、微服务开关参数是否为打开状态、当前流量对应的微服务模块流量控制参数是否为非屏蔽状态、当前流量对应的微服务菜单流量控制参数是否为非屏蔽状态;切换模块53,具体用于若判断模块的判断均为是则将当前流量切换至微服务项目。
进一步地,在图5所示实施例的基础上,读取模块51,还用于周期性刷新菜单配置文件。
进一步地,在图5所示实施例的基础上,切换模块53,还用于若当前流量从微服务项目切换至容器化项目,或者当前流量从容器化项目切换至微服务项目,则判断当前流量对应的用户的许可标识是否有效;若有效,则从数据库中存储的用户登录记录中查询用户的许可标识是否与当前流量对应的用户的许可标识一致;若一致则完成流量切换,否则退出当前流量对应的用户的登录状态。
进一步地,在图5所示实施例的基础上,切换模块53,还用于将用户对应的会话数据在容器化项目和微服务项目之间进行迁移。
图6为本发明实施例提供的一种计算机设备的结构示意图,如图6所示,该计算机设备包括处理器61、存储器62、输入装置63和输出装置64;计算机设备中处理器61的数量可以是一个或多个,图6中以一个处理器61为例;计算机设备中的处理器61、存储器62、输入装置63和输出装置64可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器62作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于配置分流部署的微服务流量切换方法对应的程序指令/模块(例如,基于配置分流部署的微服务流量切换装置中的读取模块51,判断模块52,切换模块53)。处理器61通过运行存储在存储器62中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的基于配置分流部署的微服务流量切换方法。
存储器62可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器62可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器62可进一步包括相对于处理器61远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置63可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置64可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种基于配置分流部署的微服务流量切换方法,该方法包括:
读取菜单配置文件中与当前流量对应的流量控制参数;
若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目;
否则将当前流量切换至容器化项目。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于配置分流部署的微服务流量切换方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述基于配置分流部署的微服务流量切换装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种基于配置分流部署的微服务流量切换方法,其特征在于,包括:
读取菜单配置文件中与当前流量对应的流量控制参数;
若所述当前流量对应的流量控制参数指示流量切换至微服务,则将所述当前流量切换至微服务项目;
否则将所述当前流量切换至容器化项目;
若所述当前流量从微服务项目切换至容器化项目,或者所述当前流量从容器化项目切换至微服务项目,则判断所述当前流量对应的用户的许可标识是否有效;
若有效,则从数据库中存储的用户登录记录中查询所述用户的许可标识是否与所述当前流量对应的所述用户的许可标识一致;
若一致则完成流量切换,否则退出所述当前流量对应的用户的登录状态。
2.根据权利要求1所述的方法,其特征在于,所述菜单配置文件中包括容器化项目交易跳转路径和微服务项目交易跳转路径;
所述将所述当前流量切换至微服务项目,包括:
将所述当前流量对应的路径设置为所述微服务项目交易跳转路径;
所述将所述当前流量切换至容器化项目,包括:
将所述当前流量对应的路径设置为所述容器化项目交易跳转路径。
3.根据权利要求2所述的方法,其特征在于,所述流量控制参数包括微服务开关参数、微服务模块流量控制参数、微服务菜单流量控制参数;
所述若所述当前流量对应的流量控制参数指示流量切换至微服务,则将所述当前流量切换至微服务项目,包括:
依次判断所述当前流量是否有对应的微服务项目交易跳转路径、所述微服务开关参数是否为打开状态、所述当前流量对应的微服务模块流量控制参数是否为非屏蔽状态、所述当前流量对应的微服务菜单流量控制参数是否为非屏蔽状态,若均为是则将所述当前流量切换至微服务项目。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述读取菜单配置文件中与当前流量对应的流量控制参数之前,还包括:
周期性刷新所述菜单配置文件。
5.根据权利要求1所述的方法,其特征在于,还包括:
将用户对应的会话数据在容器化项目和微服务项目之间进行迁移。
6.一种基于配置分流部署的微服务流量切换装置,其特征在于,包括:
读取模块,用于读取菜单配置文件中与当前流量对应的流量控制参数;
判断模块,用于判断所述当前流量对应的流量控制参数是否指示流量切换至微服务;
切换模块,用于若所述当前流量对应的流量控制参数指示流量切换至微服务,则将所述当前流量切换至微服务项目;否则将所述当前流量切换至容器化项目;
所述切换模块,还用于若所述当前流量从微服务项目切换至容器化项目,或者所述当前流量从容器化项目切换至微服务项目,则判断所述当前流量对应的用户的许可标识是否有效;若有效,则从数据库中存储的用户登录记录中查询所述用户的许可标识是否与所述当前流量对应的所述用户的许可标识一致;若一致则完成流量切换,否则退出所述当前流量对应的用户的登录状态。
7.根据权利要求6所述的装置,其特征在于,所述菜单配置文件中包括容器化项目交易跳转路径和微服务项目交易跳转路径;
所述切换模块,具体用于将所述当前流量对应的路径设置为所述微服务项目交易跳转路径;或者将所述当前流量对应的路径设置为所述容器化项目交易跳转路径。
8.根据权利要求7所述的装置,其特征在于,所述流量控制参数包括微服务开关参数、微服务模块流量控制参数、微服务菜单流量控制参数;
所述判断模块,具体用于依次判断所述当前流量是否有对应的微服务项目交易跳转路径、所述微服务开关参数是否为打开状态、所述当前流量对应的微服务模块流量控制参数是否为非屏蔽状态、所述当前流量对应的微服务菜单流量控制参数是否为非屏蔽状态;
所述切换模块,具体用于若所述判断模块的判断均为是则将所述当前流量切换至微服务项目。
9.根据权利要求6~8任一项所述的装置,其特征在于,所述读取模块,还用于周期性刷新所述菜单配置文件。
10.根据权利要求6所述的装置,其特征在于,所述切换模块,还用于将用户对应的会话数据在容器化项目和微服务项目之间进行迁移。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~5中任一所述的基于配置分流部署的微服务流量切换方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~5中任一所述的基于配置分流部署的微服务流量切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111025919.2A CN113676548B (zh) | 2021-09-02 | 2021-09-02 | 基于配置分流部署的微服务流量切换方法、装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111025919.2A CN113676548B (zh) | 2021-09-02 | 2021-09-02 | 基于配置分流部署的微服务流量切换方法、装置和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113676548A CN113676548A (zh) | 2021-11-19 |
CN113676548B true CN113676548B (zh) | 2024-05-03 |
Family
ID=78548310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111025919.2A Active CN113676548B (zh) | 2021-09-02 | 2021-09-02 | 基于配置分流部署的微服务流量切换方法、装置和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113676548B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579205A (zh) * | 2022-03-09 | 2022-06-03 | 平安普惠企业管理有限公司 | 资源请求处理方法、装置、电子设备及可读存储介质 |
CN115065546A (zh) * | 2022-07-07 | 2022-09-16 | 山东极光智能科技有限公司 | 一种主动防攻击网络安全防护系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463211A (zh) * | 2020-07-28 | 2021-03-09 | 上海汇招信息技术有限公司 | 一种兼容多种开发架构的系统架构改造方法及系统架构 |
WO2021072861A1 (zh) * | 2019-10-17 | 2021-04-22 | 平安科技(深圳)有限公司 | 应用服务处理方法、装置、终端及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11151283B2 (en) * | 2017-09-15 | 2021-10-19 | Sap Se | Secure data analysis in multitenant applications |
US10956849B2 (en) * | 2017-09-29 | 2021-03-23 | At&T Intellectual Property I, L.P. | Microservice auto-scaling for achieving service level agreements |
US11088914B2 (en) * | 2019-07-31 | 2021-08-10 | T-Mobile Usa, Inc. | Migrating a monolithic software application to a microservices architecture |
-
2021
- 2021-09-02 CN CN202111025919.2A patent/CN113676548B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021072861A1 (zh) * | 2019-10-17 | 2021-04-22 | 平安科技(深圳)有限公司 | 应用服务处理方法、装置、终端及存储介质 |
CN112463211A (zh) * | 2020-07-28 | 2021-03-09 | 上海汇招信息技术有限公司 | 一种兼容多种开发架构的系统架构改造方法及系统架构 |
Also Published As
Publication number | Publication date |
---|---|
CN113676548A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107948167B (zh) | 一种单点登录的方法和装置 | |
CN109478149B (zh) | 混合云计算系统中的访问服务 | |
CN110798466B (zh) | 一种虚拟机场景下软件license的验证方法及系统 | |
CN112564916A (zh) | 应用于微服务架构的访问客户端认证系统 | |
US10372475B2 (en) | Approaches for managing virtual instance data | |
CN109479062B (zh) | 混合云计算系统中的使用跟踪 | |
US8086698B2 (en) | Synchronizing configuration information among multiple clients | |
CN107277049B (zh) | 一种应用系统的访问方法及装置 | |
US7912916B2 (en) | Resolving conflicts while synchronizing configuration information among multiple clients | |
CN113676548B (zh) | 基于配置分流部署的微服务流量切换方法、装置和介质 | |
CN108073823B (zh) | 数据处理方法、装置及系统 | |
CN111475795A (zh) | 一种面向多应用进行统一认证授权的方法及装置 | |
CN112965955B (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
CN115484155B (zh) | 一种面向多web微服务应用的管理系统 | |
US11798001B2 (en) | Progressively validating access tokens | |
CN112651001A (zh) | 访问请求的鉴权方法、装置、设备及可读存储介质 | |
CN111985906A (zh) | 一种远程办公系统、方法、装置及存储介质 | |
CN102831355A (zh) | 安全操作系统中建立可信路径的方法 | |
RU2734027C2 (ru) | Способ и устройство для предотвращения атаки на сервер | |
Quamara et al. | An in-depth security and performance investigation in hyperledger fabric-configured distributed computing systems | |
CN111935107B (zh) | 身份认证的方法及装置、系统、电子设备、存储介质 | |
CN111935092B (zh) | 一种基于第三方应用的信息交互方法、装置和电子设备 | |
CN111241188A (zh) | 区块链网络中的共识方法、节点及存储介质 | |
CN105681291B (zh) | 一种实现多客户端统一认证方法及系统 | |
CN105763532A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |