WO2022037272A1 - 灰度发布方法、装置、设备及可读存储介质 - Google Patents
灰度发布方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- WO2022037272A1 WO2022037272A1 PCT/CN2021/103459 CN2021103459W WO2022037272A1 WO 2022037272 A1 WO2022037272 A1 WO 2022037272A1 CN 2021103459 W CN2021103459 W CN 2021103459W WO 2022037272 A1 WO2022037272 A1 WO 2022037272A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- grayscale
- microservice
- publishing
- call
- service
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- 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/133—Protocols for remote procedure calls [RPC]
-
- 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/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Definitions
- the present invention relates to the field of communication technologies, and in particular, to a grayscale publishing method, apparatus, device and readable storage medium.
- grayscale publishing is a very important feature and an important part of realizing agile business delivery.
- the main purpose of the present invention is to provide a grayscale publishing method, apparatus, device and readable storage medium, aiming at solving the above-mentioned technical problems existing in the prior art.
- the present invention provides a grayscale publishing method, and the grayscale publishing method includes:
- the grayscale microservice includes the grayscale microservice implemented based on the base mode and the grayscale microservice implemented based on the sidecar mode;
- the registration of the grayscale microservice is completed, and the grayscale microservice is set to a non-callable state;
- the step of releasing the grayscale microservice online it further includes:
- a grayscale label is injected into the request context of the API invocation request.
- the method further includes:
- the grayscale microservice make a call.
- the step of releasing the grayscale microservice online it further includes:
- the step of releasing the grayscale microservice online it further includes:
- the present invention also provides a grayscale distribution device, and the grayscale distribution device includes:
- a definition module for adding grayscale labels and allowing call ratios to the service description YAML files of grayscale microservices including grayscale microservices implemented based on the pedestal mode and grayscale microservices implemented based on the sidecar mode microservices;
- the registration module is used to complete the registration of the grayscale microservice by using the grayscale label and the allowable call ratio as registration information, and set the grayscale microservice to an incallable state;
- the publishing module is used to set the call control strategy of the registered Grayscale microservice, set the Grayscale microservice to the callable state, and release the Grayscale microservice online.
- the present invention also provides a grayscale publishing device, the grayscale publishing device includes a processor, a memory, and a grayscale publishing program stored on the memory and executable by the processor, wherein the When the grayscale publishing program is executed by the processor, the steps of the grayscale publishing method described above are implemented.
- the present invention also provides a readable storage medium, on which a grayscale publishing program is stored, wherein when the grayscale publishing program is executed by the processor, the grayscale publishing as described above is implemented steps of the method.
- a grayscale label and an allowable call ratio are added to the service description YAML file of the grayscale microservice.
- the grayscale microservice includes a grayscale microservice implemented based on the base mode and a grayscale microservice implemented based on the sidecar mode. service; use the grayscale label and the allowable call ratio as registration information, complete the registration of the grayscale microservice, and set the grayscale microservice to an incallable state; set the call control policy of the registered grayscale microservice, and set the grayscale microservice
- the Grayscale Microservice is set to the callable state, and the Grayscale Microservice is released online.
- unified grayscale publishing and policy control are realized for the grayscale microservice realized based on the pedestal mode and the grayscale microservice realized based on the sidecar mode.
- FIG. 1 is a schematic diagram of a hardware structure of a grayscale publishing device involved in an embodiment of the present invention
- FIG. 2 is a schematic flowchart of an embodiment of a grayscale publishing method according to the present invention.
- FIG. 3 is a schematic diagram of the architecture of a hybrid microservice system in an embodiment
- FIG. 4 is a schematic diagram of functional modules of an embodiment of a grayscale publishing apparatus.
- an embodiment of the present invention provides a grayscale publishing device.
- FIG. 1 is a schematic diagram of a hardware structure of a grayscale publishing device involved in an embodiment of the present invention.
- the grayscale publishing device may include a processor 1001 (for example, a central processing unit, Central Processing Unit, CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005.
- a processor 1001 for example, a central processing unit, Central Processing Unit, CPU
- a communication bus 1002 for example, a central processing unit, Central Processing Unit, CPU
- user interface 1003 for example, a user interface 1003, a network interface 1004, and a memory 1005.
- the communication bus 1002 is used to realize the connection and communication between these components;
- the user interface 1003 may include a display screen (Display), an input unit such as a keyboard (Keyboard);
- the network interface 1004 may optionally include a standard wired interface, a wireless interface (such as wireless fidelity WIreless-FIdelity, WI-FI interface);
- the memory 1005 can be a high-speed random access memory (random access memory, RAM), or can be a stable memory (non-volatile memory), such as disk memory, memory
- 1005 may also be a storage device independent of the aforementioned processor 1001 .
- FIG. 1 does not constitute a limitation of the present invention, and may include more or less components than those shown in the drawings, or combine some components, or arrange different components.
- the memory 1005 as a computer storage medium in FIG. 1 may include an operating system, a network communication module, a user interface module, and a grayscale publishing program.
- the processor 1001 may call the grayscale publishing program stored in the memory 1005, and execute the grayscale publishing method provided by the embodiment of the present invention.
- an embodiment of the present invention provides a grayscale publishing method.
- FIG. 2 is a schematic flowchart of an embodiment of a grayscale publishing method according to the present invention.
- the grayscale publishing method includes:
- Step S10 adding a grayscale label and an allowable call ratio to the service description YAML file of the grayscale microservice, where the grayscale microservice includes the grayscale microservice implemented based on the base mode and the grayscale microservice implemented based on the sidecar mode ;
- the grayscale microservice is the grayscale microservice to be tested. Add a grayscale label to the service description YAML file of the grayscale microservice and configure the load policy of the grayscale microservice.
- the access traffic of the grayscale microservice must be constantly adjusted to verify the operational reliability of the grayscale microservice, for example, from the initial 10% and 20% of the traffic, it has been adjusted 100% full flow to the end. Therefore, the grayscale service must be configured with a weight-based load balancing strategy.
- To configure the load policy of the Grayscale microservice is to add the allowable call ratio in the service description YAML file of the Grayscale microservice.
- Grayscale microservices include grayscale microservices based on the base mode and grayscale microservices based on the sidecar mode.
- Step S20 using the grayscale label and the allowable call ratio as registration information, completes the registration of the grayscale microservice, and sets the grayscale microservice to a non-callable state;
- the base automatically parses its service description YAML file, reads the grayscale label and the allowable call ratio in the service description YAML file, and uses the grayscale label and the allowable call ratio as registration information, register with the microservice registration center, complete the registration of the grayscale microservice based on the base mode, and set the grayscale microservice to an incallable state, such as setting the status of the grayscale microservice to It is "No Ready", indicating that the grayscale microservice cannot be called by other services.
- the sidecar searches for the service description YAML files of all microservices on the node according to the fixed search path, completes the YAML file parsing one by one, and uses the grayscale obtained by reading it.
- the label and the allowable call ratio are used as registration information to register with the microservice registration center, complete the registration of the grayscale microservice based on the sidecar mode, and set the grayscale microservice to an incallable state, for example, the grayscale microservice
- the status is set to "No Ready", indicating that the grayscale microservice cannot currently be called by other services.
- Step S30 setting the calling control policy of the registered grayscale microservice, setting the grayscale microservice to a callable state, and publishing the grayscale microservice online.
- a call control policy of the registered Grayscale microservice is set, for example, a user ID list and a client IP list that are allowed to call the registered Grayscale microservice are set.
- set the Grayscale microservice to the callable state for example, set the status of the Grayscale microservice to "Ready", indicating that the Grayscale microservice can currently be used by other services. Called and released the Grayscale microservice online, and the grayscale microservice started trial operation.
- a grayscale label and an allowable call ratio are added to the service description YAML file of the grayscale microservice.
- the grayscale microservice includes a grayscale microservice implemented based on the base mode and a grayscale microservice implemented based on the sidecar mode.
- unified grayscale publishing and policy control are implemented for the grayscale microservice implemented based on the pedestal mode and the grayscale microservice implemented based on the sidecar mode.
- step S30 it further includes:
- Step S40 when receiving the API call request, obtain requester information from the API call request;
- the requester information is extracted from the API call request.
- the requester information includes user ID, client IP and other information.
- Step S50 when the information list corresponding to the invocation control strategy includes the requester information, inject the grayscale label into the request context of the API invocation request;
- the grayscale label will be injected into the API call request. in the request context.
- step S50 it further includes:
- Step S60 when there is a grayscale microservice that has been published online on the node on the call chain corresponding to the API call request, and the call ratio of the grayscale microservice is less than its corresponding allowable call ratio, the grayscale microservice is called. Call the microservices.
- the call chain corresponding to the API call request is determined according to the business logic, and the call chain includes one or more nodes, which is the prior art and will not be repeated here.
- the call chain only includes node 1
- the gateway receives the API call request
- the grayscale label is injected into the request context of the API call request, indicating that the grayscale microservice needs to be called.
- the grayscale microservice is less than its corresponding allowable call ratio. If it is less than, call the grayscale microservice. .
- the gateway When the call chain contains multiple nodes, such as nodes 1 to 3, when the gateway receives the API call request, it will detect whether there is a grayscale microservice that has been published online on node 1. If it exists, it will continue to judge the grayscale microservice The call ratio is less than its corresponding allowable call ratio. If it is less than that, call the grayscale microservice; otherwise, call the non-grayscale microservice on node 1. Then, node 1 detects whether there is a grayscale microservice that has been published online on node 2. If there is, it continues to judge that the call ratio of the grayscale microservice is less than its corresponding allowable call ratio. The service is called; otherwise, the non-grayscale microservice on node 2 is called.
- node 2 detects whether there is a grayscale microservice that has been published online on node 3. If it exists, it continues to judge that the call ratio of the grayscale microservice is less than its corresponding allowable call ratio. The microservice is called; otherwise, the non-grayscale microservice on node 3 is called. where nodes refer to bases or sidecars.
- the invocation ratio of the grayscale microservice is y/(x+y).
- step S30 it further includes:
- the allowable call ratio of the grayscale microservice must be continuously adjusted to verify the operation reliability of the grayscale microservice, for example: from the initial 10%, 20%, until the The final 100%, and after each adjustment, broadcast the allowed call ratio corresponding to the modified grayscale microservice to all online microservices.
- step S30 it further includes:
- the grayscale label is deleted in its registration information
- the load policy is changed to the target load strategy
- new registration information of the grayscale microservice is obtained
- the grayscale microservice is registered.
- the new registration information of the microservice is broadcast to all online microservices.
- the target load strategy is such as a polling strategy, a random strategy, and the like.
- FIG. 3 is a schematic diagram of the architecture of a hybrid microservice system in an embodiment.
- the hybrid microservice system includes: service API gateway, legacy service and grayscale service based on microservice base, legacy service and grayscale service based on microservice sidecar, microservice bus, service registration Center (Registry Center) and service monitoring center (Admin Center), wherein the service monitoring center includes Gray Dashboard.
- the microservice base is a Java Lib library that provides functional support for grayscale publishing and microservice governance for Java-like microservices;
- the microservice sidecar is an independent agent process that provides grayscale publishing for multiple C++ microservices and the functional support of microservice governance;
- the service registry center (Registry Center) provides unified service registration and discovery functions, and the configuration information of grayscale services related to grayscale publishing is also stored here;
- service monitoring center (Admin Center) The service provides unified monitoring and management, and a Gray Dashboard is built into it, which is used to realize the user's visual control of the gray publishing process.
- microservices can be flexibly configured in a unified grayscale, and the existing technical facilities of the microservice framework (such as service registration discovery mechanism, load balancing strategy, Service API gateway technology, etc.), can control the safe and reliable access of different users to different microservice instances (gray version and non-gray version).
- the following functions can be implemented:
- the first function Grayscale service definition and registration, as well as online operation and release.
- the specific steps are:
- S1 Add a grayscale label to the service description YAML file of the microservice to be published, such as "grayed:true”, and configure the load policy of the grayscale service as a weight method, such as "loadbalance:weight”.
- the microservice framework generally supports a variety of load strategies, such as: random, polling, fastest response, etc.
- the weighting method should be used in the grayscale publishing process, because the subsequent traffic adjustment test for the grayscale service needs to be carried out continuously.
- the base In the base mode, during the startup and initialization process of the microservice, the base automatically parses the service description file YAML file, reads the grayscale label and load policy, and reports to the microservice registration center (hereinafter referred to as "Registry Center") register.
- the sidecar In the sidecar mode, the sidecar searches for the service description YAML files of all microservices on the node according to a fixed search path, completes the YAML file parsing, reads the grayscale tags and load policies, and registers with the microservice registry one by one. When registering, the status of the grayscale service is set to "No Ready", indicating that the grayscale service cannot be called by other services at present.
- the microservice monitoring center (hereinafter referred to as "Admin Center”) automatically obtains the instance information of the newly registered grayscale microservice and relevant grayscale policy information by monitoring the information changes on the service registration center, and displays it in the grayscale release Control Panel (hereinafter referred to as "Gray Dashboard”).
- S4 Create a new grayscale publishing task on Gray Dashboard, and set the grayscale service access control policy. For example, you can formulate a list of user IDs and user IP lists that are allowed to access the grayscale service, and save them and publish them.
- S6 All online services obtain the updated list of registered services from the Registry Center and update the local cache.
- the ServiceDiscovery component and LoadBalancer component in the subsequent microservice bus perform service discovery and client load balancing based on the updated cache.
- the second function grayscale service routing determination.
- the specific steps are:
- a front-end application (or a third-party APP) initiates an API request, it first intercepts the API request in the microservice gateway, and obtains relevant information such as user ID and user IP from the request context;
- the microservice gateway obtains the access control policy of the Grayscale service from the Registry Center, and matches and compares the user ID and user IP that initiate the API request according to the policy.
- the gateway can read the grayscale control policy information from the Registry Center in advance, cache it in the map, and keep it synchronized with the Registry Center information.
- S3 Inject a grayscale label into the request context for the successfully matched user API request, and forward it to the microservice bus.
- grayscale tags can be written directly in the HEAD of the HTTP protocol for implicit transmission; while for other binary RPC interface types of requests (such as: POJO, ICE, ICE, etc.) etc.), generally by constructing a Map structure of RpcContext, and writing a grayscale label of Key/Value type for display transmission.
- each service provider on the call chain automatically extracts the grayscale label from the request context through the microservice base, and the ServiceDiscovery component in the base obtains the list of next-stop service providers. Next-stop routing is performed by comparing whether the service provider matches the grayscale label.
- the third function grayscale service flow control.
- the specific steps are:
- S2 All online microservices obtain service information change notifications from the Registry Center, automatically obtain the latest configuration information of the Grayscale service, and convert the service provider side traffic weight of the Grayscale service to the consumer side traffic weight and cache it locally.
- the LoadBalancer component of the microservice base performs load calculation and routing based on the new traffic weight.
- Grayscale service is officially launched to remove grayscale.
- the specific steps are:
- Admin Center modifies the service registration information of the relevant grayscale service, and removes the grayscale label from it; modifies the load policy of the grayscale service and restores it to the default load policy of the service system.
- the grayscale service instance synchronously updates the microservice description YAML file, removes the relevant grayscale tags, and completes the official launch.
- the grayscale service and the grayscale policy are defined based on the service description YAML file, and the development is simple and flexible; at the same time, combined with the grayscale publishing control panel, the grayscale service is tested and launched, policy configuration, traffic control, positive and grayscale services, etc. Unified control, the publishing process is convenient, safe and reliable.
- the existing technical facilities of the microservice framework are fully utilized, combined with effective technology integration, the development cost is low, and it is easy to productize.
- the upper-layer application code has zero intrusion and is easy to transplant.
- an embodiment of the present invention further provides a grayscale publishing apparatus.
- FIG. 4 is a schematic diagram of functional modules of an embodiment of a grayscale publishing apparatus.
- the grayscale distribution device includes:
- the definition module 10 is used to add a grayscale label and allow a call ratio in the service description YAML file of the grayscale microservice.
- the grayscale microservice includes the grayscale microservice implemented based on the base mode and the grayscale implemented based on the sidecar mode. Microservices;
- the registration module 20 is configured to use the grayscale label and the allowable call ratio as registration information to complete the registration of the grayscale microservice, and set the grayscale microservice to a non-callable state;
- the publishing module 30 is configured to set the calling control strategy of the registered Grayscale microservice, set the Grayscale microservice to a callable state, and publish the Grayscale microservice online.
- the grayscale publishing device further includes a labeling module, configured to:
- a grayscale label is injected into the request context of the API invocation request.
- the grayscale publishing apparatus further includes a calling module for:
- the grayscale microservice make a call.
- the grayscale distribution device further includes a scale adjustment module, which is used for:
- the grayscale publishing apparatus further includes a de-ashing module for:
- each module in the above-mentioned grayscale publishing apparatus corresponds to each step in the above-mentioned grayscale publishing method embodiment, and the functions and implementation processes thereof will not be repeated here.
- an embodiment of the present invention further provides a readable storage medium.
- the readable storage medium of the present invention stores a grayscale publishing program, wherein when the grayscale publishing program is executed by the processor, the steps of the above-mentioned grayscale publishing method are implemented.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种灰度发布方法、装置、设备及可读存储介质。该方法包括:在灰度微服务的服务描述YAML文件中添加灰度标签以及允许调用比例,所述灰度微服务包括基于底座模式实现的灰度微服务以及基于边车模式实现的灰度微服务;以所述灰度标签以及允许调用比例作为注册信息,完成灰度微服务的注册,并将灰度微服务设置为不可调用状态;设置已注册的灰度微服务的调用控制策略,将灰度微服务设置为可调用状态,将灰度微服务上线发布。通过本发明,实现了对基于底座模式实现的灰度微服务以及基于边车模式实现的灰度微服务进行统一的灰度发布和策略控制。
Description
本发明涉及通信技术领域,尤其涉及一种灰度发布方法、装置、设备及可读存储介质。
对于一个微服务应用系统而言,灰度发布是一项非常重要的功能特性,是实现业务敏捷交付的重要一环。
传统应用微服务化一般有两种模式:底座模式和非底座模式(即边车模式)。前者以Lib库的方式为应用提供微服务相关特性的支持,后者通过独立运行的边车进程、以代理的方式为应用提供微服务特性,两种模式各有优缺,在这里不作赘述。
而在实际应用中,为了同时兼顾新旧系统的微服务化,往往会出现一种混合微服务框架的应用场景,比如:以底座模式实现Java类新应用的微服务化,而以边车模式实现C++类老应用的微服务化。那么对于这一混合场景,如何进行统一的灰度发布控制是个技术难题。
发明内容
本发明的主要目的在于提供一种灰度发布方法、装置、设备及可读存储介质,旨在解决现有技术中存在的上述技术问题。
第一方面,本发明提供一种灰度发布方法,所述灰度发布方法包括:
在灰度微服务的服务描述YAML文件中添加灰度标签以及允许调用比例,所述灰度微服务包括基于底座模式实现的灰度微服务以及基于边车模式实现的灰度微服务;
以所述灰度标签以及允许调用比例作为注册信息,完成灰度微服务的注册,并将灰度微服务设置为不可调用状态;
设置已注册的灰度微服务的调用控制策略,将灰度微服务设置为可调用状态,将灰度微服务上线发布。
可选的,在所述将灰度微服务上线发布的步骤之后,还包括:
当收到API调用请求时,从所述API调用请求中获取请求方信息;
当所述调用控制策略对应的信息列表中包括所述请求方信息时,将灰度标签注入API调用请求的请求上下文中。
可选的,在所述将灰度标签注入API调用请求的请求上下文中的步骤之后,还包括:
当所述API调用请求对应的调用链上的节点上存在已上线发布的灰度微服务,且所述灰度微服务的调用比例小于其对应的允许调用比例时,对所述灰度微服务进行调用。
可选的,在所述将灰度微服务上线发布的步骤之后,还包括:
修改灰度微服务对应的允许调用比例;
将修改后的灰度微服务对应的允许调用比例广播至所有在线的微服务。
可选的,在所述将灰度微服务上线发布的步骤之后,还包括:
当灰度微服务试运行通过后,在注册信息中,删除灰度标签,将负载策略更改为目标负载策略,得到灰度微服务的新的注册信息;
将灰度微服务的新的注册信息广播至所有在线的微服务。
第二方面,本发明还提供一种灰度发布装置,所述灰度发布装置包括:
定义模块,用于在灰度微服务的服务描述YAML文件中添加灰度标签以及允许调用比例,所述灰度微服务包括基于底座模式实现的灰度微服务以及基于边车模式实现的灰度微服务;
注册模块,用于以所述灰度标签以及允许调用比例作为注册信息,完成灰度微服务的注册,并将灰度微服务设置为不可调用状态;
发布模块,用于设置已注册的灰度微服务的调用控制策略,将灰度微服务设置为可调用状态,将灰度微服务上线发布。
第三方面,本发明还提供一种灰度发布设备,所述灰度发布设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的灰度发布程序,其中所述灰度发布程序被所述处理器执行时,实现如上所述的灰度发布方法的步骤。
第四方面,本发明还提供一种可读存储介质,所述可读存储介质上存储有灰度发布程序,其中所述灰度发布程序被处理器执行时,实现如上所述的灰度发布方法的步骤。
本发明中,在灰度微服务的服务描述YAML文件中添加灰度标签以及允许调用比例,所述灰度微服务包括基于底座模式实现的灰度微服务以及基于边车模式实现的灰度微服务;以所述灰度标签以及允许调用比例作为注册信息,完成灰度微服务的注册,并将灰度微服务设置为不可调用状态;设置已注册的灰度微服务的调用控制策略,将灰度微服务设置为可调用状态,将灰度微服务上线发布。通过本发明,实现了对基于底座模式实现的灰度微服务以及基于边车模式实现的灰度微服务进行统一的灰度发布和策略控制。
图1为本发明实施例方案中涉及的灰度发布设备的硬件结构示意图;
图2为本发明灰度发布方法一实施例的流程示意图;
图3为一实施例中混合微服务系统的架构示意图;
图4为灰度发布装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一方面,本发明实施例提供一种灰度发布设备。
参照图1,图1为本发明实施例方案中涉及的灰度发布设备的硬件结构示意图。本发明实施例中,灰度发布设备可以包括处理器1001(例如中央处理器Central Processing Unit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WI-FI接口);存储器1005可以是高速随机存取 存储器(random access memory,RAM),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及灰度发布程序。其中,处理器1001可以调用存储器1005中存储的灰度发布程序,并执行本发明实施例提供的灰度发布方法。
第二方面,本发明实施例提供了一种灰度发布方法。
参照图2,图2为本发明灰度发布方法一实施例的流程示意图。一实施例中,灰度发布方法包括:
步骤S10,在灰度微服务的服务描述YAML文件中添加灰度标签以及允许调用比例,所述灰度微服务包括基于底座模式实现的灰度微服务以及基于边车模式实现的灰度微服务;
本实施例中,灰度微服务为待试运行的灰度微服务。在灰度微服务的服务描述YAML文件中添加灰度标签以及配置灰度微服务的负载策略。其中,由于在灰度微服务试运行过程中,必须不断地调整灰度微服务的访问流量以验证灰度微服务的运行可靠性,比如:从最开始的10%、20%流量,一直调整到最后的100%完全流量。因此,灰度服务必须配置为基于权重的负载均衡策略。配置灰度微服务的负载策略即在灰度微服务的服务描述YAML文件中添加允许调用比例。灰度微服务包括基于底座模式实现的灰度微服务以及基于边车模式实现的灰度微服务。
步骤S20,以所述灰度标签以及允许调用比例作为注册信息,完成灰度微服务的注册,并将灰度微服务设置为不可调用状态;
本实施例中,基于底座模式实现的灰度微服务在其启动初始化过程中,底座自动解析其服务描述YAML文件,读取服务描述YAML文件中的灰度标签和允许调用比例,以灰度标签和允许调用比例作为注册信息,向微服务注册中心注册,完成基于底座模式实现的灰度微服务的注册,并将该灰度微服 务设置为不可调用状态,例如将灰度微服务的状态置为“No Ready”,表明该灰度微服务当前还不能被其它服务所调用。
基于边车模式实现的灰度微服务在其启动初始化过程中,边车按固定搜索路径查找本节点上所有微服务的服务描述YAML文件,逐个完成YAML文件解析,并以读取得到的灰度标签和允许调用比例,作为注册信息,向微服务注册中心注册,完成基于边车模式实现的灰度微服务的注册,并将该灰度微服务设置为不可调用状态,例如将灰度微服务的状态置为“No Ready”,表明该灰度微服务当前还不能被其它服务所调用。
步骤S30,设置已注册的灰度微服务的调用控制策略,将灰度微服务设置为可调用状态,将灰度微服务上线发布。
本实施例中,设置已注册的灰度微服务的调用控制策略,例如设置允许调用已注册的灰度微服务的用户ID列表、客户端IP列表等。设置好已注册的灰度微服务的调用控制策略后,将灰度微服务设置为可调用状态,例如将灰度微服务的状态置为“Ready”,表明灰度微服务当前能被其它服务所调用,并将灰度微服务上线发布,该灰度微服务开始试运行。
本实施例中,在灰度微服务的服务描述YAML文件中添加灰度标签以及允许调用比例,所述灰度微服务包括基于底座模式实现的灰度微服务以及基于边车模式实现的灰度微服务;以所述灰度标签以及允许调用比例作为注册信息,完成灰度微服务的注册,并将灰度微服务设置为不可调用状态;设置已注册的灰度微服务的调用控制策略,将灰度微服务设置为可调用状态,将灰度微服务上线发布。通过本实施例,实现了对基于底座模式实现的灰度微服务以及基于边车模式实现的灰度微服务进行统一的灰度发布和策略控制。
进一步地,一实施例中,在步骤S30之后,还包括:
步骤S40,当收到API调用请求时,从所述API调用请求中获取请求方信息;
本实施例中,当收到API调用请求时,从API调用请求中提取请求方信息。其中,请求方信息包括用户ID、客户端IP等信息。
步骤S50,当所述调用控制策略对应的信息列表中包括所述请求方信息时,将灰度标签注入API调用请求的请求上下文中;
本实施例中,检测请求方信息包括的用户ID和/或客户端IP是否存在于 调用控制策略对应的允许调用的用户ID列表和/或客户端IP列表中,若请求方信息包括的用户ID存在于调用控制策略对应的允许调用的用户ID列表中,或请求方信息包括的客户端IP存在于调用控制策略对应的允许调用的客户端IP列表中,则将灰度标签注入API调用请求的请求上下文中。
进一步地,一实施例中,在步骤S50之后,还包括:
步骤S60,当所述API调用请求对应的调用链上的节点上存在已上线发布的灰度微服务,且所述灰度微服务的调用比例小于其对应的允许调用比例时,对所述灰度微服务进行调用。
本实施例中,API调用请求对应的调用链是根据业务逻辑确定的,调用链包括一个或多个节点,此处为现有技术,在此不做赘述。当调用链只包含节点1时,网关收到API调用请求时,由于API调用请求的请求上下文中注入有灰度标签,表明需要调用灰度微服务。则检测节点1上是否存在已上线发布的灰度微服务,若存在,则继续判断该灰度微服务的调用比例小于其对应的允许调用比例,若小于,则对该灰度微服务进行调用。当调用链包含多个节点,例如节点1至3,则网关收到API调用请求时,检测节点1上是否存在已上线发布的灰度微服务,若存在,则继续判断该灰度微服务的调用比例小于其对应的允许调用比例,若小于,则对该灰度微服务进行调用;否则调用节点1上的非灰度微服务。然后,节点1检测节点2上是否存在已上线发布的灰度微服务,若存在,则继续判断该灰度微服务的调用比例小于其对应的允许调用比例,若小于,则对该灰度微服务进行调用;否则调用节点2上的非灰度微服务。同理,节点2检测节点3上是否存在已上线发布的灰度微服务,若存在,则继续判断该灰度微服务的调用比例小于其对应的允许调用比例,若小于,则对该灰度微服务进行调用;否则调用节点3上的非灰度微服务。其中,节点指底座或边车。
其中,若预设时长内一微服务的调用次数为x,该微服务对应的灰度微服务的调用次数为y,则灰度微服务的调用比例为y/(x+y)。
进一步地,一实施例中,在步骤S30之后,还包括:
修改灰度微服务对应的允许调用比例;
将修改后的灰度微服务对应的允许调用比例广播至所有在线的微服务。
本实施例中,随着试运行的进行,必须不断地调整灰度微服务的允许调 用比例以验证灰度微服务的运行可靠性,比如:从最开始的10%、20%,一直调整到最后的100%,且在每次调整后,将修改后的灰度微服务对应的允许调用比例广播至所有在线的微服务。
进一步地,一实施例中,在步骤S30之后,还包括:
当灰度微服务试运行通过后,在注册信息中,删除灰度标签,将负载策略更改为目标负载策略,得到灰度微服务的新的注册信息;
将灰度微服务的新的注册信息广播至所有在线的微服务。
本实施例中,在灰度微服务试运行通过后,在其注册信息中,删除灰度标签,将负载策略更改为目标负载策略,得到灰度微服务的新的注册信息,并将灰度微服务的新的注册信息广播至所有在线的微服务。其中,目标负载策略如轮询策略、随机策略等。
参照图3,图3为一实施例中混合微服务系统的架构示意图。如图3所示,该混合微服务系统包括:服务API网关、基于微服务底座实现的旧版服务和灰度服务、基于微服务边车实现的旧版服务和灰度服务、微服务总线、服务注册中心(Registry Center)以及服务监控中心(Admin Center),其中服务监控中心包括灰度发布控制面板(Gray Dashboard)。微服务底座是一个Java的Lib库,为Java类微服务提供了灰度发布和微服务治理的功能支持;微服务边车是一个独立的代理进程,它为多个C++微服务提供灰度发布和微服务治理的功能支持;服务注册中心(Registry Center)提供统一的服务注册与发现功能,灰度发布相关的灰度服务的配置信息也存放于此处;服务监控中心(Admin Center)对微服务提供统一的监控和管理,在其中内置一个灰度发布控制面板(Gray Dashboard),用于实现对灰度发布过程的用户可视化调控。基于该架构,一方面能灵活的对两类微服务(边车类、底座类)进行统一的灰度配置,并利用微服务框架既有技术设施(如:服务注册发现机制、负载均衡策略、服务API网关技术等),能够控制不同用户对不同的微服务实例(灰度版和非灰版)的安全可靠访问。基于该架构,具体可实现如下功能:
第一功能:灰度服务定义与注册、以及上线运行发布。具体步骤为:
S1:在待发布微服务的服务描述YAML文件中添加灰度标签,如:“grayed:true”,并配置灰度服务的负载策略为权重方式,如:“loadbalance:weight”。注:微服务框架一般支持多种负载策略,如:随机、轮询、最快响应等,在 灰度发布过程中应选用权重方式,因为后续需要不断地对灰度服务进行流量调整测试。
S2:在底座模式下,在微服务在启动初始化过程中,底座自动解析服务描述文件YAML文件,读取其中的灰度标签和负载策略,并向微服务注册中心(以下简称“Registry Center”)注册。在边车模式下,边车按固定搜索路径查找本节点上所有微服务的服务描述YAML文件,逐个完成YAML文件解析、灰度标签和负载策略的读取、及向微服务注册中心注册。注册时将灰度服务的状态置为“No Ready”,表明当前该灰度服务还不能被其它服务所调用。
S3:微服务监控中心(以下简称“Admin Center”)通过监听服务注册中心上的信息变更,自动获取新注册的灰度微服务的实例信息、及相关灰度策略信息,并展现在灰度发布控制面板(以下简称“Gray Dashboard”)上。
S4:在Gray Dashboard上新建一个灰度发布任务,并设置灰度服务访问控制策略,如可以制定允许访问灰度服务的用户ID列表,用户IP列表等,保存后发布。
S5:Admin Center自动将灰度发布信息上传到Registry Center,并修改灰度服务实例的状态为“Ready”,完成灰度服务的上线发布。
S6:所有在线服务从Registry Center上获取更新后的已注册服务清单,更新本地缓存本。后续微服务总线中的ServiceDiscovery组件、LoadBalancer组件等基于更新后的缓存进行服务发现和客户端负载均衡。
第二功能:灰度服务路由判定。具体步骤为:
S1:当前端应用(或第3方APP)发起API请求时,首先在微服务网关中对API请求进行拦截,并从请求上下文中获取到用户ID、用户IP等相关信息;
S2:微服务网关从Registry Center获取灰度服务的访问控制策略,并根据策略对发起API请求的用户ID、用户IP等进行匹配比较。为提升网关的处理性能,网关可以提前从Registry Center读取灰度控制策略信息,缓存于map中,并保持与Registry Center信息同步。
S3:对匹配成功的用户API请求在请求上下文注入灰度标签,并转发到微服务总线中。对于HTTP接口类型的服务API请求(如:REST API等), 可以直接在HTTP协议的HEAD中写入灰度标签来隐式传递;而对于其它二进制的RPC接口类型的请求(如:POJO、ICE等),一般通过构建一个RpcContext的Map结构,写入Key/Value类型的灰度标签来进行显示传递。
S4:在本次API请求的后续调用链中,调用链上的各个服务提供者通过微服务底座从请求上下文中自动提取灰度标签,底座中的ServiceDiscovery组件获取下一站服务提供者列表,通过比较服务提供者是否与灰度标签匹配来进行下一站路由选择。
第三功能:灰度服务流量控制。具体步骤为:
S1:灰度服务上线测试后,可以在Gray Dashboard中更改某个灰度服务实例上允许访问的流量百分比权重,即更改灰度服务实例的负载均衡配置。配置更改保存生效后,同步写入到Registry Center中进行信息发布。
S2:所有在线微服务从Registry Center中获取服务信息变更通知,自动获取灰度服务的最新配置信息,并将灰度服务的服务提供侧流量权重转换计算为消费侧流量权重,并缓存于本地。
S3:后续对灰度服务实例的API请求,微服务底座的LoadBalancer组件根据新的流量权重进行负载计算和路由选择。
第四功能:灰度服务正式上线去灰。具体步骤为:
S1:灰度服务试运行测试通过后,可以在Gray Dashboard对测试通过的灰度服务实例执行“正式上线”操作。
S2:Admin Center修改相关灰度服务的服务注册信息,从中去掉灰度标签;修改灰度服务的负载策略,将其恢复为该服务系统默认的负载策略。
S3:Admin Center将以上信息变更发布到Registry Center中发布生效。
S4:所有在线微服务从Registry Center获取服务信息变更,并更新各自本地缓存。
S5:灰度服务实例同步更新微服务描述YAML文件,去掉相关的灰度标记,完成正式上线。
通过本实施例,基于服务描述YAML文件来定义灰度服务和灰度策略,开发简单灵活;同时结合灰度发布控制面板,对灰度服务的测试上线、策略配置、流量调控,转正去灰等进行统一操控,发布过程方便、安全可靠。在灰度发布的策略配置、路由控制、流量调控、上线发布等的主要技术实现上, 充分利用微服务框架既有技术设施,并加之有效的技术整合,开发代价小、易产品化,同时对上层应用代码零入侵性,易于移植。
第三方面,本发明实施例还提供一种灰度发布装置。
参照图4,图4为灰度发布装置一实施例的功能模块示意图。
本实施例中,所述灰度发布装置包括:
定义模块10,用于在灰度微服务的服务描述YAML文件中添加灰度标签以及允许调用比例,所述灰度微服务包括基于底座模式实现的灰度微服务以及基于边车模式实现的灰度微服务;
注册模块20,用于以所述灰度标签以及允许调用比例作为注册信息,完成灰度微服务的注册,并将灰度微服务设置为不可调用状态;
发布模块30,用于设置已注册的灰度微服务的调用控制策略,将灰度微服务设置为可调用状态,将灰度微服务上线发布。
进一步地,一实施例中,所述灰度发布装置还包括标注模块,用于:
当收到API调用请求时,从所述API调用请求中获取请求方信息;
当所述调用控制策略对应的信息列表中包括所述请求方信息时,将灰度标签注入API调用请求的请求上下文中。
进一步地,一实施例中,所述灰度发布装置还包括调用模块,用于:
当所述API调用请求对应的调用链上的节点上存在已上线发布的灰度微服务,且所述灰度微服务的调用比例小于其对应的允许调用比例时,对所述灰度微服务进行调用。
进一步地,一实施例中,灰度发布装置还包括比例调整模块,用于:
修改灰度微服务对应的允许调用比例;
将修改后的灰度微服务对应的允许调用比例广播至所有在线的微服务。
进一步地,一实施例中,灰度发布装置还包括去灰模块,用于:
当灰度微服务试运行通过后,在注册信息中,删除灰度标签,将负载策略更改为目标负载策略,得到灰度微服务的新的注册信息;
将灰度微服务的新的注册信息广播至所有在线的微服务。
其中,上述灰度发布装置中各个模块的功能实现与上述灰度发布方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
第四方面,本发明实施例还提供一种可读存储介质。
本发明可读存储介质上存储有灰度发布程序,其中所述灰度发布程序被处理器执行时,实现如上述的灰度发布方法的步骤。
其中,灰度发布程序被执行时所实现的方法可参照本发明灰度发布方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
- 一种灰度发布方法,其特征在于,所述灰度发布方法包括:在灰度微服务的服务描述YAML文件中添加灰度标签以及允许调用比例,所述灰度微服务包括基于底座模式实现的灰度微服务以及基于边车模式实现的灰度微服务;以所述灰度标签以及允许调用比例作为注册信息,完成灰度微服务的注册,并将灰度微服务设置为不可调用状态;设置已注册的灰度微服务的调用控制策略,将灰度微服务设置为可调用状态,将灰度微服务上线发布。
- 如权利要求1所述的灰度发布方法,其特征在于,在所述将灰度微服务上线发布的步骤之后,还包括:当收到API调用请求时,从所述API调用请求中获取请求方信息;当所述调用控制策略对应的信息列表中包括所述请求方信息时,将灰度标签注入API调用请求的请求上下文中。
- 如权利要求2所述的灰度发布方法,其特征在于,在所述将灰度标签注入API调用请求的请求上下文中的步骤之后,还包括:当所述API调用请求对应的调用链上的节点上存在已上线发布的灰度微服务,且所述灰度微服务的调用比例小于其对应的允许调用比例时,对所述灰度微服务进行调用。
- 如权利要求1所述的灰度发布方法,其特征在于,在所述将灰度微服务上线发布的步骤之后,还包括:修改灰度微服务对应的允许调用比例;将修改后的灰度微服务对应的允许调用比例广播至所有在线的微服务。
- 如权利要求1所述的灰度发布方法,其特征在于,在所述将灰度微服务上线发布的步骤之后,还包括:当灰度微服务试运行通过后,在注册信息中,删除灰度标签,将负载策略更改为目标负载策略,得到灰度微服务的新的注册信息;将灰度微服务的新的注册信息广播至所有在线的微服务。
- 一种灰度发布装置,其特征在于,所述灰度发布装置包括:定义模块,用于在灰度微服务的服务描述YAML文件中添加灰度标签以及允许调用比例,所述灰度微服务包括基于底座模式实现的灰度微服务以及基于边车模式实现的灰度微服务;注册模块,用于以所述灰度标签以及允许调用比例作为注册信息,完成灰度微服务的注册,并将灰度微服务设置为不可调用状态;发布模块,用于设置已注册的灰度微服务的调用控制策略,将灰度微服务设置为可调用状态,将灰度微服务上线发布。
- 如权利要求6所述的灰度发布装置,其特征在于,所述灰度发布装置还包括标注模块,用于:当收到API调用请求时,从所述API调用请求中获取请求方信息;当所述调用控制策略对应的信息列表中包括所述请求方信息时,将灰度标签注入API调用请求的请求上下文中。
- 如权利要求7所述的灰度发布装置,其特征在于,所述灰度发布装置还包括调用模块,用于:当所述API调用请求对应的调用链上的节点上存在已上线发布的灰度微服务,且所述灰度微服务的调用比例小于其对应的允许调用比例时,对所述灰度微服务进行调用。
- 一种灰度发布设备,其特征在于,所述灰度发布设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的灰度发布程序,其中所述灰度发布程序被所述处理器执行时,实现如权利要求1至5中任一项所述的灰度发布方法的步骤。
- 一种可读存储介质,其特征在于,所述可读存储介质上存储有灰度发布程序,其中所述灰度发布程序被处理器执行时,实现如权利要求1至5中任一项所述的灰度发布方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010851185.2 | 2020-08-21 | ||
CN202010851185.2A CN112087325B (zh) | 2020-08-21 | 2020-08-21 | 灰度发布方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022037272A1 true WO2022037272A1 (zh) | 2022-02-24 |
Family
ID=73729483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/103459 WO2022037272A1 (zh) | 2020-08-21 | 2021-06-30 | 灰度发布方法、装置、设备及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112087325B (zh) |
WO (1) | WO2022037272A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114265607A (zh) * | 2022-03-03 | 2022-04-01 | 杭州朗澈科技有限公司 | 一种灰度发布方法、系统、电子设备和存储介质 |
CN114785787A (zh) * | 2022-04-24 | 2022-07-22 | 天津银行股份有限公司 | 一种全链路灰度发布方法 |
CN114884915A (zh) * | 2022-04-19 | 2022-08-09 | 阿里巴巴(中国)有限公司 | 基于灰度发布的消息处理方法、装置以及设备 |
CN114928479A (zh) * | 2022-05-12 | 2022-08-19 | 中国工商银行股份有限公司 | 灰度发布方法、系统、装置、计算机设备和存储介质 |
CN115250233A (zh) * | 2022-09-22 | 2022-10-28 | 中邮消费金融有限公司 | 一种灰度路由控制方法、灰度路由组件及计算机设备 |
CN115665230A (zh) * | 2022-10-17 | 2023-01-31 | 上海浦东发展银行股份有限公司 | 一种无侵入应用灰度发布控制方法 |
CN117149747A (zh) * | 2023-10-30 | 2023-12-01 | 建信金融科技有限责任公司 | 数据库变更的灰度发布方法及系统、计算机设备 |
CN117472617A (zh) * | 2023-12-28 | 2024-01-30 | 中移(苏州)软件技术有限公司 | 一种消息处理方法、装置、电子设备及可读存储介质 |
CN117714459A (zh) * | 2023-12-28 | 2024-03-15 | 北京领雁科技股份有限公司 | 一种动态灰度服务发布系统、方法、设备及计算机介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112087325B (zh) * | 2020-08-21 | 2021-07-20 | 烽火通信科技股份有限公司 | 灰度发布方法、装置、设备及可读存储介质 |
CN113254063B (zh) * | 2021-06-30 | 2021-09-21 | 四川新网银行股份有限公司 | 一种灰度验证过滤器及过滤方法 |
CN113301168A (zh) * | 2021-07-23 | 2021-08-24 | 浩鲸云计算科技股份有限公司 | 一种动态策略灰度发布引擎实现请求精准分流方法及系统 |
CN113949708B (zh) * | 2021-09-03 | 2023-04-25 | 中国人民解放军军事科学院战争研究院 | 一种支持灰度升级访问流量控制的服务总线设计方法 |
CN117155994B (zh) * | 2023-10-27 | 2024-02-02 | 广州市千钧网络科技有限公司 | 服务注册管理方法、装置、设备、可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106257894A (zh) * | 2016-08-29 | 2016-12-28 | 北京海誉动想科技股份有限公司 | 基于微服务的灰度发布方法 |
US20170251390A1 (en) * | 2016-02-28 | 2017-08-31 | Yagi Corp. | Multinodal Power Sensing, Aggregation, and Transmission |
CN107872334A (zh) * | 2016-09-23 | 2018-04-03 | 中兴通讯股份有限公司 | 一种微服务架构系统中灰度升级的方法及装置 |
CN108574601A (zh) * | 2018-03-27 | 2018-09-25 | 无锡华云数据技术服务有限公司 | 一种灰度发布方法及系统 |
CN108848092A (zh) * | 2018-06-20 | 2018-11-20 | 中国联合网络通信集团有限公司 | 基于调用链的微服务灰度发布的处理方法及装置 |
CN109788029A (zh) * | 2018-12-14 | 2019-05-21 | 平安信托有限责任公司 | 微服务的灰度调用方法、装置、终端及可读存储介质 |
US20190332522A1 (en) * | 2018-04-27 | 2019-10-31 | Satori Worldwide, Llc | Microservice platform with messaging system |
CN111163085A (zh) * | 2019-12-29 | 2020-05-15 | 北京车与车科技有限公司 | 一种灰度发布场景优化方法 |
CN111181858A (zh) * | 2019-12-24 | 2020-05-19 | 浙江大华技术股份有限公司 | 灰度发布的方法、系统、计算机设备和存储介质 |
CN112087325A (zh) * | 2020-08-21 | 2020-12-15 | 烽火通信科技股份有限公司 | 灰度发布方法、装置、设备及可读存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130145244A1 (en) * | 2011-12-05 | 2013-06-06 | Microsoft Corporation | Quick analysis tool for spreadsheet application programs |
CN107341008A (zh) * | 2017-06-22 | 2017-11-10 | 上海艾融软件股份有限公司 | 微服务灰度发布方法 |
CN107911430A (zh) * | 2017-11-06 | 2018-04-13 | 上海电机学院 | 一种微服务基础设施装置 |
CN108427581A (zh) * | 2018-02-07 | 2018-08-21 | 平安普惠企业管理有限公司 | 系统微服务化方法及终端设备 |
CN109992273B (zh) * | 2019-01-03 | 2022-12-20 | 蔚来(安徽)控股有限公司 | 一种灰度发布方法以及灰度发布系统 |
CN110798502B (zh) * | 2019-09-18 | 2022-06-17 | 平安科技(深圳)有限公司 | 基于微服务框架的灰度发布方法、装置和计算机设备 |
CN110851145B (zh) * | 2019-09-30 | 2022-06-03 | 烽火通信科技股份有限公司 | 一种基于容器编排的边缘云安装维护方法及系统 |
-
2020
- 2020-08-21 CN CN202010851185.2A patent/CN112087325B/zh active Active
-
2021
- 2021-06-30 WO PCT/CN2021/103459 patent/WO2022037272A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170251390A1 (en) * | 2016-02-28 | 2017-08-31 | Yagi Corp. | Multinodal Power Sensing, Aggregation, and Transmission |
CN106257894A (zh) * | 2016-08-29 | 2016-12-28 | 北京海誉动想科技股份有限公司 | 基于微服务的灰度发布方法 |
CN107872334A (zh) * | 2016-09-23 | 2018-04-03 | 中兴通讯股份有限公司 | 一种微服务架构系统中灰度升级的方法及装置 |
CN108574601A (zh) * | 2018-03-27 | 2018-09-25 | 无锡华云数据技术服务有限公司 | 一种灰度发布方法及系统 |
US20190332522A1 (en) * | 2018-04-27 | 2019-10-31 | Satori Worldwide, Llc | Microservice platform with messaging system |
CN108848092A (zh) * | 2018-06-20 | 2018-11-20 | 中国联合网络通信集团有限公司 | 基于调用链的微服务灰度发布的处理方法及装置 |
CN109788029A (zh) * | 2018-12-14 | 2019-05-21 | 平安信托有限责任公司 | 微服务的灰度调用方法、装置、终端及可读存储介质 |
CN111181858A (zh) * | 2019-12-24 | 2020-05-19 | 浙江大华技术股份有限公司 | 灰度发布的方法、系统、计算机设备和存储介质 |
CN111163085A (zh) * | 2019-12-29 | 2020-05-15 | 北京车与车科技有限公司 | 一种灰度发布场景优化方法 |
CN112087325A (zh) * | 2020-08-21 | 2020-12-15 | 烽火通信科技股份有限公司 | 灰度发布方法、装置、设备及可读存储介质 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114265607A (zh) * | 2022-03-03 | 2022-04-01 | 杭州朗澈科技有限公司 | 一种灰度发布方法、系统、电子设备和存储介质 |
CN114884915A (zh) * | 2022-04-19 | 2022-08-09 | 阿里巴巴(中国)有限公司 | 基于灰度发布的消息处理方法、装置以及设备 |
CN114884915B (zh) * | 2022-04-19 | 2024-03-26 | 阿里巴巴(中国)有限公司 | 基于灰度发布的消息处理方法、装置以及设备 |
CN114785787A (zh) * | 2022-04-24 | 2022-07-22 | 天津银行股份有限公司 | 一种全链路灰度发布方法 |
CN114785787B (zh) * | 2022-04-24 | 2024-03-22 | 天津银行股份有限公司 | 一种全链路灰度发布方法 |
CN114928479B (zh) * | 2022-05-12 | 2024-02-02 | 中国工商银行股份有限公司 | 灰度发布方法、系统、装置、计算机设备和存储介质 |
CN114928479A (zh) * | 2022-05-12 | 2022-08-19 | 中国工商银行股份有限公司 | 灰度发布方法、系统、装置、计算机设备和存储介质 |
CN115250233A (zh) * | 2022-09-22 | 2022-10-28 | 中邮消费金融有限公司 | 一种灰度路由控制方法、灰度路由组件及计算机设备 |
CN115250233B (zh) * | 2022-09-22 | 2022-12-16 | 中邮消费金融有限公司 | 一种灰度路由控制方法、灰度路由组件及计算机设备 |
CN115665230A (zh) * | 2022-10-17 | 2023-01-31 | 上海浦东发展银行股份有限公司 | 一种无侵入应用灰度发布控制方法 |
CN117149747B (zh) * | 2023-10-30 | 2024-02-02 | 建信金融科技有限责任公司 | 数据库变更的灰度发布方法及系统、计算机设备 |
CN117149747A (zh) * | 2023-10-30 | 2023-12-01 | 建信金融科技有限责任公司 | 数据库变更的灰度发布方法及系统、计算机设备 |
CN117472617A (zh) * | 2023-12-28 | 2024-01-30 | 中移(苏州)软件技术有限公司 | 一种消息处理方法、装置、电子设备及可读存储介质 |
CN117714459A (zh) * | 2023-12-28 | 2024-03-15 | 北京领雁科技股份有限公司 | 一种动态灰度服务发布系统、方法、设备及计算机介质 |
CN117472617B (zh) * | 2023-12-28 | 2024-04-09 | 中移(苏州)软件技术有限公司 | 一种消息处理方法、装置、电子设备及可读存储介质 |
CN117714459B (zh) * | 2023-12-28 | 2024-06-07 | 北京领雁科技股份有限公司 | 一种动态灰度服务发布系统、方法、设备及计算机介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112087325A (zh) | 2020-12-15 |
CN112087325B (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022037272A1 (zh) | 灰度发布方法、装置、设备及可读存储介质 | |
CN112000348B (zh) | 服务灰度发布的控制方法、装置、计算机设备 | |
US8276167B2 (en) | Distributed pluggable middleware services | |
EP3138003B1 (en) | System and method for supporting a bypass-domain model and a proxy model and updating service information for across-domain messaging in a transactional middleware machine environment | |
WO2019047821A1 (zh) | 业务路由的方法、装置及存储介质 | |
US20110321024A1 (en) | Method and apparatus for updating an executing application | |
US8856365B2 (en) | Computer-implemented method, computer system and computer readable medium | |
CN114401098B (zh) | 一种快速构建微服务的应用系统及方法 | |
US7519908B2 (en) | Application server configuration tool | |
US20140165051A1 (en) | Program execution service windows | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
CN110874227A (zh) | 实现于api网关的灰度发布的分流方法、系统和电子设备 | |
CN112433863A (zh) | 微服务调用方法、装置、终端设备以及存储介质 | |
CN112787999B (zh) | 跨链调用方法、装置、系统与计算机可读存储介质 | |
US8589427B2 (en) | Sensing and responding to service discoveries | |
US8600960B2 (en) | Processing proposed changes to data | |
US11411812B2 (en) | Dynamic service creation for microservice-based integration service | |
US8725856B2 (en) | Discovery of network services | |
CN112714042B (zh) | 压力测试方法、装置、电子设备和存储介质 | |
US20100153565A1 (en) | Connection management in line-of-business | |
CN109992298B (zh) | 审批平台扩充方法、装置、审批平台及可读存储介质 | |
US7885995B2 (en) | Processing service requests in a distributed environment | |
US7305554B2 (en) | Dynamic acquisition of state during security system reconfiguration | |
CN112565340B (zh) | 分布式应用的服务调度方法、装置、计算机系统及介质 | |
Sharma et al. | Traefik for Microservices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21857368 Country of ref document: EP Kind code of ref document: A1 |