WO2018049872A1 - 微服务配置装置及方法 - Google Patents

微服务配置装置及方法 Download PDF

Info

Publication number
WO2018049872A1
WO2018049872A1 PCT/CN2017/091273 CN2017091273W WO2018049872A1 WO 2018049872 A1 WO2018049872 A1 WO 2018049872A1 CN 2017091273 W CN2017091273 W CN 2017091273W WO 2018049872 A1 WO2018049872 A1 WO 2018049872A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
microservice
calls
configuration
score
Prior art date
Application number
PCT/CN2017/091273
Other languages
English (en)
French (fr)
Inventor
李林锋
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP17850075.7A priority Critical patent/EP3499800B1/en
Publication of WO2018049872A1 publication Critical patent/WO2018049872A1/zh
Priority to US16/358,266 priority patent/US10812333B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Definitions

  • the present invention relates to the field of microservice management technologies, and in particular, to a microservice configuration apparatus and method.
  • Microservices is an emerging software architecture style. Each microservice is a small functional block that focuses on a single responsibility and function. Several microservices combine complex large applications. The configuration for microservices is the key to providing stable services for large applications.
  • the micro service configuration is mainly completed by manual online.
  • the operation and maintenance personnel use the operation and maintenance system to view an indicator of a microservice in the service system cluster, and the indicator that has a greater impact on the service performance of the microservice, through its own operation and maintenance experience, according to the microservice
  • the service performance affects the metrics to determine whether the microservice needs to improve the service quality of the service through service configuration operations. If the operation and maintenance personnel judges that service configuration is required, the configuration parameters are selected based on the micro-service indicators and logs, and the configuration parameters are manually configured through the service configuration interface to dynamically modify the configuration parameters of each node in the system cluster. Effective in real time.
  • a service system usually contains a large number of micro-services, and the existing technology requires the operation and maintenance personnel to distinguish the indicators that have a greater impact on the service performance of each micro-service, and judge and select the configuration parameters according to the differentiated indicators, resulting in manual configuration.
  • the efficiency is low and the accuracy of parameter configuration is not high.
  • the present invention provides a micro service configuration method, including:
  • the management device obtains various indicators of the microservices of the service, and the types of the indicators of the microservices of the different services are the same; the management device according to the indicators of the microservices of the service, the indicator weight information corresponding to the microservices of the service, and the health
  • the degree model calculates the health score of the microservice of the service, the indicator weight information indicates the weight of each indicator of the microservice of the service in the health model, and the health model corresponding to the microservice of the different service is the same;
  • the management device determines a configuration parameter of the micro service for the service according to the health score; the management device uses the service according to the configuration parameter.
  • the microservices are configured.
  • the management device obtains various indicators of the micro-service of the service, and the types of the indicators of the micro-services of different services are the same, according to the indicators of the micro-services of the service, the weight information of the indicators, and the health
  • the degree model calculates the health score of the microservice of the service, and the health model corresponding to the microservice of different services is the same.
  • the health score of the microservice of the service is lower than the preset score threshold, according to the health degree
  • the score determines the configuration parameters of the microservices of the service, and configures the microservices of the service according to the configuration parameters, and does not require the operation and maintenance personnel to distinguish each microservice.
  • the service performance affects the larger indicators, and judges and selects the configuration parameters according to the differentiated indicators, thereby improving the efficiency and accuracy of the service configuration.
  • the microservices of different services are distinguished by different indicator weight information. There is no need to set an independent health model for each service microservice, that is, to shield the differences between microservices through a unified health model, thereby simplifying the complexity of the system and making the system simpler, more practical and more efficient.
  • the management device configures the micro service according to the configuration parameter, including: the management device performs flow control, service degradation, timeout control, and priority on the micro service of the service according to the configuration parameter. At least one of level scheduling, traffic offset, and elastic scaling.
  • This solution provides a specific configuration of the microservices.
  • the method further includes: the management device querying the index weight information according to the identifier information of the microservice of the service, and the correspondence between the identifier information and the index weight information.
  • the management device obtains various indicators of the micro service of the service, including: the management device acquires each indicator of the micro service of the service in a previous unit time period; and the management device is configured according to the configuration parameter The micro service of the service is configured, and the management device configures the micro service of the service according to the configuration parameter in the next unit time period.
  • the micro service of the service includes at least two types of micro services
  • the management device configures the micro service of the service according to the configuration parameter, including: at least for the micro service including the service.
  • the two types of micro-services the management device sequentially sends a configuration request to the corresponding host device of the at least two types of micro-services, where the configuration request includes a configuration parameter of the corresponding micro-service, and the configuration request is used to indicate that the corresponding host device is configured according to the
  • the configuration parameter of the micro-service corresponding to the configuration request is configured for the micro-service corresponding to the configuration request; the management device sets a listener corresponding to each of the at least two types of micro-services, and the listener is configured to monitor the configuration result returned by the corresponding host device.
  • the management device is configured to determine that the configuration of the at least two types of microservices is completed when the respective corresponding listeners of the at least two types of microservices receive the respective configuration results.
  • the solution provides a solution for configuring the micro-services in parallel.
  • the configuration request may be sent to the host devices corresponding to the micro-services to indicate the respective micro-services.
  • the service is configured, and the corresponding micro-services are used to determine the result of each micro-service.
  • the configuration of the micro-service is not required after the configuration of the micro-service is completed. Improve concurrency and timeliness and reduce latency.
  • each indicator of the micro service in the last unit time period includes at least one of the following indicators: an unavailable duration, an available duration, a throughput when the service is normal, and a call when the service is normal.
  • Total number of times, number of calls for fault-tolerant downgrades, number of calls for forced downgrades, total number of calls for service downgrades, total number of concurrent control calls, number of calls discarded during parallel control, total number of flow control calls, number of calls discarded during flow control, services The total number of calls when an exception occurs, the proportion of calls that have a call delay higher than the delay threshold, the number of call failures, the number of route failures, the number of call timeouts, and the number of other call failures.
  • the management device calculates the health score of the micro service according to each indicator of the micro service, the indicator weight information corresponding to the micro service, and the health model, including:
  • the management device calculates the health score of the microservice of the service in the previous unit time period according to the following formula:
  • the health score 100 * (((K1 * micro service availability score) + (K2 * micro service sub-health score)) / (K1 + K2)) - event deduction;
  • the micro-service sub-health score the proportion of calls that are delayed by more than the delay threshold
  • the event deduction the number of events in the unit time period, the number of call failures, the number of route failures, the number of call timeouts, and the number of other call failures exceeding the preset number of thresholds * the predetermined value V;
  • K1 is the weight corresponding to the microservice availability score
  • K2 is the weight corresponding to the microservice subhealth score
  • K3 is the weight corresponding to the service degradation event
  • is the weight corresponding to the number of calls of the fault tolerant degradation
  • is The weight corresponding to the number of calls for the forced downgrade
  • K4 is the weight corresponding to the parallel control event
  • K5 is the weight corresponding to the flow control event.
  • the program provides a specific method of calculating the health score.
  • the management device determines a configuration parameter of the micro service for the service according to the health score.
  • the method includes: when the health score of the microservice of the service is lower than a preset score threshold, the management device determines, according to the health score, the fitness score from the configuration parameter database, The configuration parameters corresponding to the microservice of the service.
  • the method further includes: during a specified time period, the management device performs offline automatic rehearsal according to each indicator of the microservice of the service within a predetermined duration range before the start of the specified time period, The microservice of the service corresponds to the configuration parameter of each health score; the configuration parameter database is updated according to the obtained configuration parameter.
  • the solution provides a method for updating the configuration parameter database by performing offline drill through the actually collected data, so as to timely correct the correspondence between the configuration parameters and the health score according to the actual operation, and improve the accuracy of the micro service configuration. Sex.
  • an embodiment of the present invention provides a management device, where the management device includes: a processor and a memory; the processor is configured to execute program instructions stored in a memory; the processor implements the first by executing an instruction Aspects or microservice configuration methods provided by various possible implementations of the first aspect.
  • an embodiment of the present invention provides a micro service configuration apparatus, where the micro service configuration apparatus includes at least one unit, where the at least one unit is used to implement the foregoing first aspect or various possible implementation manners of the first aspect.
  • the microservice configuration method provided.
  • the embodiment of the present invention further provides a computer readable medium storing instructions for implementing the microservice configuration method provided by the first aspect or various possible implementation manners of the first aspect .
  • FIG. 1 is a block diagram of a network environment according to the present invention.
  • FIG. 2 is a schematic structural diagram of a management device according to an exemplary embodiment of the present invention.
  • FIG. 3 is a flowchart of a micro service configuration method according to an embodiment of the present invention.
  • FIG. 4 is a block diagram of a microservice configuration apparatus according to an embodiment of the present invention.
  • a number as referred to herein means one or more, and "a plurality” means two or more.
  • the character "/" generally indicates that the contextual object is an "or" relationship.
  • the network environment includes the following network devices: a management device 110 and a number of host devices 120.
  • the management device 110 may be a single server, or may be a service cluster composed of multiple servers, or may be a cloud computing center.
  • the host device 120 can be a physical host or it can be a virtual host.
  • the management device 110 and the host device 120 are connected by a priority or wireless network.
  • the management device 110 and the plurality of host devices 120 form a service system that provides microservices of several different services to the outside, and each microservice is operated by one or more host devices 120.
  • the host device 120 can collect the metrics of the microservices that are run by the host device, and send the collected metrics to the management device 110.
  • the management device 110 monitors the health of the microservices according to the collected indicators of the microservices of the various services. And determining the configuration parameters of the microservices to be configured, and sending the determined configuration parameters to the corresponding host device 120, where the host device 120 configures the corresponding microservices.
  • FIG. 2 is a schematic structural diagram of a management device 20 according to an embodiment of the present invention.
  • the management device 20 can be implemented as the management device 110 in the network environment shown in FIG. 1 , as shown in FIG. 2 , and the management device 20 can include : Processor 21 and communication interface 24.
  • the processor 21 may include one or more processing units, which may be a central processing unit (CPU) or a network processor (NP).
  • processing units may be a central processing unit (CPU) or a network processor (NP).
  • CPU central processing unit
  • NP network processor
  • Communication interface 24 may include a wired network interface, such as an Ethernet interface or a fiber optic interface, and may also include a wireless network interface, such as a wireless local area network interface or a cellular mobile network interface.
  • the management device 20 communicates with each host device through the communication interface 24.
  • the network device 20 may further include a memory 23, and the processor 21 may be connected to the memory 23 and the communication interface 24 by using a bus.
  • the memory 23 can be used to store a software program 23a, which can be executed by the processor 21.
  • various types of service data or user data can also be stored in the memory 23.
  • the software program 23a may include: an index obtaining module 23a1, a score calculating module 23a2, a parameter determining module 23a3, a configuration module 23a4, a weight query module 23a5, a drill module 23a6, and an update module 23a7.
  • the indicator obtaining module 23a1 is configured to acquire various indicators of the microservices of the service, and various indicators of the microservices of different services.
  • the type is the same;
  • the score calculation module 23a2 is configured to calculate a health score of the microservice of the service according to each indicator of the microservice of the service, the index weight information corresponding to the microservice of the service, and the health model, where the indicator weight information indicates the service
  • the weight of each indicator of the microservice in the health model, the health model corresponding to the microservice of different services is the same;
  • the parameter determining module 23a3 is configured to determine, according to the health score, a configuration parameter of the micro service for the service, when the health score of the micro service of the service is lower than a preset score threshold;
  • the configuration module 23a4 is configured to configure the microservice of the service according to the configuration parameter.
  • the weight query module 23a5 is configured to: before the score calculation module 23a2 calculates the health score of the microservice of the service according to each indicator of the microservice of the service, the index weight corresponding to the microservice, and the health model, The identifier information of the microservice of the service, and the correspondence between the identifier information and the weight information of the indicator are used to query the weight information of the indicator.
  • the exercise module 23a6 is configured to perform offline automatic rehearsal according to each indicator in the predetermined duration of the microservice of the service within a predetermined duration before the start of the specified time period, and obtain the health scores corresponding to the microservices of the service.
  • Configuration parameters
  • the update module 23a7 is configured to update the configuration parameter database according to the obtained configuration parameter.
  • the network device 20 may further include an output device 25 and an input device 27.
  • the output device 25 and the input device 27 are connected to the processor 21.
  • the output device 25 may be a display for displaying information, a power amplifier device or a printer that plays sound, and the output device 25 may further include an output controller for providing output to a display screen, a power amplifier device, or a printer.
  • the input device 27 can be a device such as a mouse, keyboard, electronic stylus or touch panel for user input information, and the input device 27 can also include an output controller for receiving and processing from the mouse, keyboard, electronics Input from devices such as stylus or touch panel.
  • FIG. 3 is a flowchart of a micro service configuration method according to an embodiment of the present invention.
  • the method can be used in the management device 110 of the network environment shown in FIG. 1.
  • the micro service configuration method may include:
  • Step 301 Each host device collects various indicators of the microservices of the service running by itself.
  • Each indicator is used to indicate the service performance of the corresponding micro service.
  • a plurality of different services can be run on each of the host devices, and each of the services can be associated with one or more types of microservices.
  • the indicators of the microservices of different services are Are the same.
  • service A corresponds to microservice a
  • service B corresponds to microservice b
  • service C corresponds to microservice b
  • micro-services c When each host device in the system collects metrics for the above three micro-services, it does not distinguish its own services. For each micro-service, the types of metrics collected are the same.
  • an indicator collection module may be set in the host device, and the indicator collection module performs real-time collection on various indicators of the microservices running in the current host device, and collects various types of the microservices collected.
  • the indicator is sent to the communication queue for transmission.
  • the indicator collection module incrementally collects various indicators of the microservice of the service in real time.
  • disk collection means that the host device first writes various indicators into the log, and the indicator collection module monitors the log.
  • Disk read log The data corresponding to various indicators of the micro service; the stream collection is the data corresponding to various indicators of the micro-service directly read from the memory by the indicator collection module.
  • Step 302 Each host device sends the collected indicators of the microservices to the management device, and the management device receives various indicators of the microservices sent by the host devices.
  • the host device may use the asynchronous non-blocking communication, the binary transmission, and the code stream compression technology to send the collected indicators of the micro service.
  • the indicator collection module in the host device may invoke an interface provided by the management device, and send the collected indicators of the micro service to the management device through asynchronous binary compression.
  • Step 303 The management device acquires various indicators of the microservice of a service.
  • the management device may collect the data of the indicators of the micro-services sent by the host devices, and the version of the indicator collection module in each host device may be inconsistent, which may result in being sent.
  • the format of the data may also be inconsistent.
  • the management device may also format the data of the indicators of each micro service sent by each host device, so as to subsequently process the indicators through a unified data format.
  • the management device can configure the micro service according to a certain period.
  • the management device can obtain the micro service of the service in each unit time period.
  • the indicator performs the subsequent steps for each indicator in the previous unit time period.
  • This step 303 can be implemented by the processor 21 in FIG. 2 executing the indicator acquisition module 23a1.
  • Step 304 The management device queries the index weight information corresponding to the micro service of the service according to the identifier information of the micro service of the service and the correspondence between the identifier information and the index weight information.
  • the performance weight information of the microservices of each service may be set or updated by an administrator or a system.
  • Microservices vary greatly in configuration parameters, such as billing microservices.
  • the success rate of microservice calls is very high (for example, 99.999%).
  • TPS Transaction Per Second
  • the administrator or the system may pre-set the index weights corresponding to the micro-services of the respective services, and the index weight information corresponding to the micro-services of different services may also be different, and the management device is in a micro-service
  • the index weight information corresponding to the micro service of the service may be queried first, and the subsequent processing is performed according to the weight information of the indicator.
  • This step 304 can be implemented by the processor 21 of FIG. 2 executing the weight query module 23a5.
  • Step 305 The management device calculates the health score of the microservice of the service according to the obtained indicators of the microservice of the service, the index weight information corresponding to the microservice of the service, and the health model.
  • the indicator weight information is used to indicate the weight of each indicator of the corresponding micro service, and the health model corresponding to the micro service of the different services is the same; and the indicator weight information corresponding to the micro service of different services may be the same. It can also be different.
  • the microservices of each service in the system share a health degree model, and the health degree model can calculate the health score corresponding to the microservice of the service by combining specific indicators and weights of the microservices of the service. Values, microservices of different services are distinguished by different indicator weight information, and there is no need to set an independent health model for each service microservice, that is, a uniform health model is used to shield the difference between services. This simplifies the complexity of the system and makes the system simpler, more practical and more efficient.
  • the administrator or the system can dynamically adjust the health of the microservices of the microservices by dynamically adjusting the weights of the health scores of the microservices. For example, billing and user comment microservices, billing microservices. More attention is paid to the success rate parameter indicator, and the system can increase the weight of the micro-service call success rate of the charging class, and the success rate parameter item has a greater influence on the health score of the micro-service of the charging class. For the user to comment on the microservice, the system increases the weight of the throughput parameter indicator.
  • the system uses the default weights.
  • the system can preset the mapping relationship between the weight and the microservice to the database or the memory, and match the database or memory through the name and version number of the microservice to obtain the differentiated weight. And calculate the health of the microservice based on the matched weights.
  • each indicator of the microservice of the service in the last unit time period includes at least one of the following indicators:
  • Unavailable duration available duration, available duration, throughput when the service is normal, total number of calls when the service is normal, number of calls for fault tolerant degradation, number of calls for forced downgrade, total number of calls for service downgrade, total number of concurrent control calls, discard for parallel control Number of calls, total number of flow control calls, number of calls discarded during flow control, total number of calls when the service is abnormal, proportion of calls with a call delay higher than the delay threshold, number of failed calls, number of route failures, number of call timeouts And other calls to the number of failures.
  • the management device may calculate the health score of the micro service in the last unit time period according to the following formula:
  • the health score 100 * (((K1 * micro service availability score) + (K2 * micro service sub-health score)) / (K1 + K2)) - event deduction;
  • the micro-service sub-health score the proportion of calls that are delayed by more than the delay threshold
  • the event deduction the number of events in the unit time period, the number of call failures, the number of route failures, the number of call timeouts, and the number of other call failures exceeding the preset number of thresholds * the predetermined value V;
  • the K1 is a weight corresponding to the microservice availability score
  • K2 is a weight corresponding to the microservice subhealth score
  • K3 is a weight corresponding to the service degradation event
  • is a weight corresponding to the number of calls of the fault tolerant degradation
  • For the weight corresponding to the number of calls for the forced downgrade
  • K4 is the weight corresponding to the parallel control event
  • K5 is the weight corresponding to the flow control event.
  • This step 305 can be implemented by the processor 21 of FIG. 2 executing the score calculation module 23a2.
  • Step 306 When the health score of the micro service of the service is lower than a preset score threshold, the management device determines a configuration parameter of the micro service for the service according to the health score.
  • the management device determines, according to the health score, the microservice from the configuration parameter database that is compatible with the health score. Corresponding configuration parameters.
  • the management device calculates the health score of the microservice of the service
  • the health score is compared with the preset health score to determine whether it meets the expected value. If the expectations are not met, the appropriate configuration parameters are found through machine learning based on the obtained health scores, configuration parameter database and preset algorithms. And output configuration parameters.
  • This step 306 can be implemented by the processor 21 of FIG. 2 executing the parameter determination module 23a3.
  • Step 307 The management device configures the microservice of the service according to the configuration parameter.
  • the traffic control, service degradation, timeout control, priority scheduling, traffic offset, and elastic scaling may be performed on the microservice of the service according to the configuration parameter. At least one configuration.
  • the management device may configure the microservice of the service according to the configuration parameter in the next unit time period. Specifically, the management device sequentially sends a configuration request to the host device corresponding to the at least two types of microservices, where the configuration request includes the configuration of the corresponding micro service. a parameter, and the configuration request is used to indicate that the corresponding host device configures the micro service corresponding to the configuration request according to the configuration parameter of the micro service corresponding to the configuration request, and the management device sets the corresponding listener of the at least two micro services.
  • the listener is configured to monitor the configuration result returned by the corresponding host device, and when the corresponding listeners of the at least two types of microservices receive the corresponding configuration results, the management device determines that the configuration of the at least two types of microservices is completed. .
  • the management device can send the configuration request of the micro service to the corresponding host by calling the service configuration interface corresponding to the micro service.
  • the device sends the configuration request.
  • the solution shown in the embodiment of the present invention provides a batch parallel calling technology, which implements batch parallel asynchronous service call by batch calling interface encapsulation, synchronous to asynchronous, and asynchronous synchronous synchronization technology, and can greatly reduce the time when the service configuration interface is invoked. Delay, improve the timeliness of microservice configuration. Since microservice configuration operations are independent of each other and have no logical context-dependent operations, their serial interface calls can be optimized for parallel calls.
  • the packaged bulk service interface code examples are as follows:
  • a service call can perform parallel configuration operations on microservices of multiple services.
  • the embodiment of the present invention converts the serial synchronization operation into an asynchronous operation.
  • the interface service call can use asynchronous non-blocking I/O, and the network I/O read and write operations do not block the calling thread, and initiate After the service is called, the thread does not need to suspend the thread to wait for the response. Instead, the calling context is saved to the Future, and the registration result notifies the Listener to the Future. Once the service provider returns a response, the system context is obtained according to the message ID, and the Listener in the Future is called back. , get the result, and notify the listener.
  • the embodiment of the present invention provides a key process of batch synchronous to asynchronous and asynchronous aggregation and synchronization, and the process is implemented as follows:
  • ParallelInvoker is responsible for building ParallelFuture object
  • ParallelFuture saves the service call context information, used to receive the result asynchronously.
  • each service will hold a pointer reference to ParallelFuture.
  • the onReceiveResponse of a service SourceHandler is triggered, the result of the service call has been returned.
  • the result of ParallelFuture is updated according to the index information.
  • the bulk service call is completed when all service call results are successfully set to ParallelFuture.
  • the get(timeout) interface returns an array of objects containing the results of all service calls.
  • the total time spent on the microservice configuration can be compressed to the maximum of the time spent on a single microservice configuration, rather than the sum of the time spent on all traditional microservice configurations.
  • This step 307 can be implemented by the processor 21 of FIG. 2 executing the configuration module 23a4.
  • the foregoing unit time period may be a time period in which the time length is one unit time length before the time when the management device acquires the indicators of the micro service of the service, and the time when the management device acquires each indicator of the micro service of the service
  • the point may be the end time point of the last unit time period, or may be after the end time point of the last unit time period; correspondingly, the next unit time period mentioned above may be each of the micro services of the management device acquiring the service.
  • the time length is a time period of one unit time length
  • the time point of each indicator of the micro service of the management device acquiring the service may be the start time point of the next unit time period, or may be in the next time Before the start of the unit time period.
  • the management device configures the microservice of the service according to one hour as a cycle, and the management device divides each hour into a unit time period, assuming that the previous unit time period is (5:00:00). , 6:00:00), then the next unit time period is (6:00:00, 7:00:00), and the management device starts step 303 to step 307 at the time of 6:00:00, through the business
  • the micro-services determine the configuration parameters of the service's micro-services from 6:00:00-7:00:00 in the 5:00:00-6:00:00 and perform the micro-services for the service. Configuration.
  • the management device configures the microservice of the service according to one hour as a cycle, and the management device divides the last 59 minutes in each hour into a unit time period, assuming that the previous unit time period is (5) :01:00, 6:00:00), the next unit time period is (6:01:00, 7:00:00), and the management device performs the steps from 6:00:00 to 6:01:00.
  • step 306 determining, by using the indicators of the service microservice in 5:01:00-6:00:00, the configuration parameters of the microservice of the service in 6:01:00-7:00:00, And step 307 is executed from the time point of 6:01:00 to configure the microservice of the service.
  • Step 308 During a specified time period, the management device performs offline automatic rehearsal according to each indicator in the predetermined duration of the microservice of the service before the start of the specified time period, and obtains the microservices of the service corresponding to the respective health scores. Configuration parameters.
  • This step 308 can be implemented by the processor 21 of FIG. 2 executing the walkthrough module 23a6.
  • Step 309 The management device updates the configuration parameter database according to the obtained configuration parameter.
  • This step 309 can be implemented by the processor 21 in FIG. 2 executing the update module 23a7.
  • offline automatic rehearsal can be performed according to the collected various original data and test traffic, and the optimal configuration parameters are searched and updated into the configuration parameter database. .
  • the management device obtains various indicators of the micro-service of the service, and the types of the indicators of the micro-services of different services are the same, according to various indicators of the micro-service of the service,
  • the index weight information and the health score of the microservice of the health model calculation service, the health model corresponding to the microservice of different services is the same, when the health score of the microservice of the service is lower than the preset score threshold
  • the health service score is used to determine the configuration parameters of the service microservices, and the service microservices are configured according to the configuration parameters, the operation and maintenance personnel do not need to distinguish the indicators that have a greater impact on the service performance of each microservice, and follow the Distinguish the indicators to determine and select configuration parameters, thereby Improve the efficiency and accuracy of service configuration.
  • microservices of different services are distinguished by different indicator weight information. It is not necessary to set an independent health model for each service microservice, that is, through a unified health model. To shield the differences between microservices, simplifying the complexity of the system and making the system simpler, more practical and more efficient.
  • FIG. 4 shows a block diagram of a microservice configuration apparatus according to an embodiment of the present invention.
  • the device may be implemented in hardware or a combination of hardware and software as part or all of the management device 110 of the network environment shown in FIG. 1 for performing all or part of the steps performed by the management network device in FIG. 3.
  • the device may include: an indicator obtaining module 23a1, a score calculating module 23a2, a parameter determining module 23a3, a configuration module 23a4, a weight query module 23a5, a drill module 23a6, and an update module 23a7;
  • the device is presented in the form of a functional unit.
  • a "unit” herein may refer to an application-specific integrated circuit (ASIC), circuitry, a processor and memory that executes one or more software or firmware programs, integrated logic circuitry, and/or other functions that provide the functionality described above.
  • ASIC application-specific integrated circuit
  • the index acquisition unit 401 has the same or similar function as the index acquisition module 23a1.
  • the score calculation unit 402 is for the same or similar function as the score calculation module 23a2.
  • the parameter determination unit 403 has the same or similar function as the parameter determination module 23a3.
  • the configuration unit 404 is for the same or similar function as the configuration module 23a4.
  • the weight query unit 405 has the same or similar function as the weight query module 23a5.
  • the walkthrough unit 406 is for the same or similar function as the walkthrough module 23a6.
  • the update unit 407 has the same or similar function as the update module 23a7.
  • a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
  • the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种微服务配置装置及方法,属于微服务管理技术领域。所述方法包括:管理设备获取业务的微服务的各个指标,不同业务的微服务的各个指标的类型是相同的,根据业务的微服务的各个指标、指标权重信息以及健康度模型计算业务的微服务的健康度分值,不同业务的微服务对应的健康度模型是相同的,当业务的微服务的健康度分值低于预设的分值阈值时,根据健康度分值确定对业务的微服务的配置参数,根据配置参数对业务的微服务进行配置,提高了服务配置的效率和准确性,通过统一的健康度模型来屏蔽业务的微服务之间的差异,从而简化系统的复杂度,使得系统更加简单、实用和高效。

Description

微服务配置装置及方法
本申请要求于2016年9月19日提交中国专利局、申请号为201610832294.3,发明名称为“微服务配置装置及方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及微服务管理技术领域,特别涉及一种微服务配置装置及方法。
背景技术
微服务是一种新兴的软件架构风格,每个微服务是一个专注于单一责任与功能的小型功能区块,若干个微服务组合出复杂的大型应用程序。而针对微服务的配置,则是该大型应用程序为用户提供稳定服务的关键。
在现有技术中,微服务配置主要通过人工在线来完成。具体的,运维人员利用运维系统查看服务系统集群中的某一项微服务的指标中,对该微服务的服务性能影响较大的指标,通过自己的运维经验,根据对该微服务的服务性能影响较大的指标来判断该微服务是否需要通过服务配置操作来提升服务的运行质量。如果运维人员判断需要进行服务配置,则根据微服务的指标、日志等信息,凭借人工经验选择配置参数,通过服务配置界面在线的进行配置操作,动态修改系统集群中各节点的配置参数,并实时生效。
在实现本发明的过程中,发明人发现现有技术存在如下问题:
一个服务系统中通常包含大量的微服务,而现有技术需要运维人员区分对每个微服务的服务性能影响较大的指标,并按照区分出的指标来判断并选择配置参数,导致人工配置的效率较低,参数配置的准确性不高。
发明内容
为了解决现有技术中需要运维人员区分对每个微服务的服务性能影响较大的指标,并按照区分出的指标来判断并选择配置参数,导致人工配置的效率较低,参数配置的准确性不高的问题,本申请提供了一种微服务配置装置及方法。
第一方面,本发明提供了一种微服务配置方法,包括:
管理设备获取业务的微服务的各个指标,不同业务的微服务的各个指标的类型是相同的;该管理设备根据该业务的微服务的各个指标、该业务的微服务对应的指标权重信息以及健康度模型计算该业务的微服务的健康度分值,该指标权重信息指示业务的微服务的各个指标在该健康度模型中的权重,不同业务的微服务对应的健康度模型是相同的;当该业务的微服务的健康度分值低于预设的分值阈值时,该管理设备根据该健康度分值确定对该业务的微服务的配置参数;该管理设备根据该配置参数对该业务的微服务进行配置。
本发明实施例提供的微服务配置方法,管理设备获取业务的微服务的各个指标,不同业务的微服务的各个指标的类型是相同的,根据业务的微服务的各个指标、指标权重信息以及健康度模型计算业务的微服务的健康度分值,不同业务的微服务对应的健康度模型是相同的,当业务的微服务的健康度分值低于预设的分值阈值时,根据健康度分值确定对业务的微服务的配置参数,根据配置参数对业务的微服务进行配置,不需要运维人员区分对每个微服 务的服务性能影响较大的指标,并按照区分出的指标来判断并选择配置参数,从而提高服务配置的效率和准确性,同时,不同业务的微服务之间通过不同的指标权重信息来区分,不需要为每一个业务的微服务设置独立的健康度模型,即通过统一的健康度模型来屏蔽微服务之间的差异,从而简化系统的复杂度,使得系统更加简单、实用和高效。
在一种可能的实现方式中,该管理设备根据该配置参数对该微服务进行配置,包括:该管理设备根据该配置参数,对该业务的微服务执行流量控制、服务降级、超时控制、优先级调度、流量偏移以及弹性伸缩中的至少一种配置。
该方案提供了对微服务的具体的配置方式。
在一种可能的实现方式中,该管理设备根据该业务的微服务的各个指标、该业务的微服务对应的指标权重信息以及健康度模型计算该业务的微服务的健康度分值之前,该方法还包括:该管理设备根据该业务的微服务的标识信息,以及该标识信息与该指标权重信息之间的对应关系查询该指标权重信息。
在一种可能的实现方式中,该管理设备获取业务的微服务的各个指标,包括:该管理设备获取该业务的微服务在上一单位时间段内的各个指标;该管理设备根据该配置参数对该业务的微服务进行配置,包括:在下一单位时间段内,该管理设备根据该配置参数对该业务的微服务进行配置。
在一种可能的实现方式中,该业务的微服务包括至少两种微服务,该管理设备根据该配置参数对该业务的微服务进行配置,包括:对于包含该业务的微服务在内的至少两种微服务,该管理设备向该至少两种微服务各自对应的主机设备依次发送配置请求,该配置请求中包含对应的微服务的配置参数,且该配置请求用于指示对应的主机设备根据该配置请求对应的微服务的配置参数对该配置请求对应的微服务进行配置;该管理设备设置该至少两种微服务各自对应的监听器,该监听器用于监听对应的主机设备返回的配置结果;该管理设备,用于当该至少两种微服务各自对应的监听器都接收到各自对应的配置结果时,确定对该至少两种微服务配置完成。
该方案提供了一种对各个微服务进行并行配置的方案,当有多个微服务需要配置时,可以依次向各个微服务对应的主机设备发送配置请求,以指示各个主机设备对各自运行的微服务进行配置,并通过各个微服务各自对应的监听器来确定各个微服务的调用结果,不需要在等待一个微服务配置成功后再进行下一个微服务的配置,从而提升微服务的配置效率,提高并发性和时效性,降低时延。
在一种可能的实现方式中,该微服务在上一单位时间段内的各个指标包括下列指标中的至少一种:不可用时长、可用时长、服务正常时的吞吐量、服务正常时的调用总次数、容错降级的调用次数、强制降级的调用次数、服务降级调用总次数、并行控制调用总次数、并行控制时丢弃的调用次数、流量控制调用总次数、流量控制时丢弃的调用次数、服务异常时的调用总次数、调用延时高于延时门限的调用次数比例、调用失败次数、路由失败次数、调用超时次数以及其它调用故障次数。
在一种可能的实现方式中,该管理设备根据该微服务的各个指标、该微服务对应的指标权重信息以及健康度模型计算该微服务的健康度分值,包括:
该管理设备按照下列公式计算该业务的微服务在上一单位时间段内的该健康度分值:
该健康度分值=100*(((K1*微服务可用性分值)+(K2*微服务亚健康分值))/(K1+K2))-事件扣分;
其中,该微服务可用性分值=(可用时长/单位时间段时长)*(被处理调用次数/调用总次数);该被处理调用次数/调用总次数=(((K3*((服务降级调用总次数-α*容错降级的调用次数-β*强制降级的调用次数)/服务降级调用总次数)+K4*((并行控制调用总次数–并行控制时丢弃的调用次数)/并行控制调用总次数)+K5*((流量控制调用总次数–流量控制时丢弃的调用次数)/流量控制调用总次数)))/(K3+K4+K5))*服务异常时的调用总次数+服务正常是的调用总次数);
该微服务亚健康分值=调用延时高于延时门限的调用次数比例;
该事件扣分=该单位时间段内,调用失败次数、路由失败次数、调用超时次数以及其它调用故障次数中超过预设次数阈值的事件的数量*预定数值V;
其中,K1为该微服务可用性分值对应的权重,K2为该微服务亚健康分值对应的权重,K3为服务降级事件对应的权重,α为该容错降级的调用次数对应的权重,β为该强制降级的调用次数对应的权重,K4为并行控制事件对应的权重,K5为流量控制事件对应的权重。
该方案提供了一种健康度分值的具体计算方法。
在一种可能的实现方式中,该当该业务的微服务的健康度分值低于预设的分值阈值时,该管理设备根据该健康度分值确定对该业务的微服务的配置参数,包括:当该业务的微服务的健康度分值低于预设的分值阈值时,该管理设备根据该健康度分值从配置参数数据库中确定出与该健康度分值相适配的,该业务的微服务对应的配置参数。
在一种可能的实现方式中,该方法还包括:在指定时间段内,该管理设备根据该业务的微服务在该指定时间段开始之前的预定时长范围内的各个指标进行离线自动演练,获得该业务的微服务对应各个健康度分值的配置参数;根据获得的该配置参数更新该配置参数数据库。
该方案提供了一种通过实际采集到的数据进行离线演练以更新配置参数数据库的方法,以便根据实际运行情况及时修正配置参数与健康度分值之间的对应关系,提高对微服务配置的准确性。
第二方面,本发明实施例提供了一种管理设备,该管理设备包括:处理器和存储器;该处理器被配置为执行存储器中存储的程序指令;该处理器通过执行指令来实现上述第一方面或第一方面的各种可能实现方式所提供的微服务配置方法。
第三方面,本发明实施例提供了一种微服务配置装置,该微服务配置装置包括至少一个单元,该至少一个单元用于实现上述第一方面或第一方面的各种可能的实现方式所提供的微服务配置方法。
第四方面,本发明实施例还提供了一种计算机可读介质,该计算机可读介质存储有用于实现第一方面或第一方面的各种可能的实现方式所提供的微服务配置方法的指令。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明所涉及的网络环境的架构图;
图2是本发明一个示例性实施例提供的管理设备的结构示意图;
图3本发明一个实施例提供的微服务配置方法的流程图;
图4是本发明一个实施例提供的微服务配置装置的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
图1是本发明所涉及的一种网络环境的架构图。该网络环境包括以下网络设备:管理设备110以及若干个主机设备120。
其中,管理设备110可以是单台服务器,或者,也可以是由多台服务器组成的服务集群,或者,也可以是一个云计算中心。
主机设备120可以是实体主机,或者,也可以是虚拟主机。
管理设备110与主机设备120之间通过优先或者无线网络相连接。
在本公开实施例中,管理设备110和若干个主机设备120组成服务系统,该服务系统对外提供若干种不同业务的微服务,每种微服务由一个或多个主机设备120运行。主机设备120可以对自身运行的微服务进行指标采集,并将采集到的指标发送给管理设备110,管理设备110根据汇集来的各种业务的微服务的指标对微服务的健康度进行监控,并对需要配置的微服务进行配置参数的确定,并将确定出的配置参数下发给相应的主机设备120,由主机设备120对相应的微服务进行配置。
图2是本发明一个实施例提供的一种管理设备20的结构示意图,该管理设备20可以实现为图1所示的网络环境中的管理设备110如图2所示,该管理设备20可以包括:处理器21以及通信接口24。
处理器21可以包括一个或者一个以上处理单元,该处理单元可以是中央处理单元(英文:central processing unit,CPU)或者网络处理器(英文:network processor,NP)等。
通信接口24可以包括有线网络接口,比如以太网接口或者光纤接口,也可以包括无线网络接口,比如无线局域网接口或者蜂窝移动网络接口。管理设备20通过该通信接口24与各个主机设备进行通信。
可选的,该网络设备20还可以包括存储器23,处理器21可以用总线与存储器23和通信接口24相连。
存储器23可用于存储软件程序23a,该软件程序23a可以由处理器21执行。此外,该存储器23中还可以存储各类业务数据或者用户数据。
可选的,如图2所示,软件程序23a中可以包括:指标获取模块23a1、分值计算模块23a2、参数确定模块23a3、配置模块23a4、权重查询模块23a5、演练模块23a6以及更新模块23a7。
指标获取模块23a1,用于获取业务的微服务的各个指标,不同业务的微服务的各个指标 的类型是相同的;
分值计算模块23a2,用于根据该业务的微服务的各个指标、该业务的微服务对应的指标权重信息以及健康度模型计算该业务的微服务的健康度分值,该指标权重信息指示业务的微服务的各个指标在所述健康度模型中的权重,不同业务的微服务对应的健康度模型是相同的;
参数确定模块23a3,用于当该业务的微服务的健康度分值低于预设的分值阈值时,根据该健康度分值确定对该业务的微服务的配置参数;
配置模块23a4,用于根据该配置参数对该业务的微服务进行配置。
权重查询模块23a5,用于在该分值计算模块23a2根据该业务的微服务的各个指标、该微服务对应的指标权重以及健康度模型计算该业务的微服务的健康度分值之前,根据该业务的微服务的标识信息,以及该标识信息与该指标权重信息之间的对应关系查询该指标权重信息。
演练模块23a6,用于在指定时间段内,根据该业务的微服务在该指定时间段开始之前的预定时长范围内的各个指标进行离线自动演练,获得该业务的微服务对应各个健康度分值的配置参数;
更新模块23a7,用于根据获得的该配置参数更新配置参数数据库。
可选地,该网络设备20还可以包括输出设备25以及输入设备27。输出设备25和输入设备27与处理器21相连。输出设备25可以是用于显示信息的显示器、播放声音的功放设备或者打印机等,输出设备25还可以包括输出控制器,用以提供输出到显示屏、功放设备或者打印机。输入设备27可以是用于用户输入信息的诸如鼠标、键盘、电子触控笔或者触控面板之类的设备,输入设备27还可以包括输出控制器以用于接收和处理来自鼠标、键盘、电子触控笔或者触控面板等设备的输入。
请参考图3,其示出了本发明一个实施例提供的微服务配置方法的流程图。该方法可以用于图1所示的网络环境的管理设备110中。如图3所示,该微服务配置方法可以包括:
步骤301,各个主机设备采集自身运行的业务的微服务的各个指标。
其中,各个指标用于指示对应的微服务的服务性能。各个主机设备上可以运行多种不同的业务,每种业务分别可以对应一种或多种微服务,在本发明实施例中,在采集微服务的指标时,不同业务的微服务的各个指标都是相同的。
比如,假设系统中有业务A、业务B和业务C三种不同的业务,每种业务对应的微服务各不相同,业务A对应有微服务a,业务B对应有微服务b,业务C对应有微服务c,系统中的各个主机设备针对上述三种微服务进行指标采集时,不区分所属的业务,对于每种微服务,采集的指标的类型都是相同的。
在本发明实施例中,主机设备中可以设置指标采集模块,该指标采集模块业内关于对当前主机设备中运行的微服务的各种指标进行实时采集,并将采集到的该微服务的各种指标发送到通信队列中等待发送。
具体的,为了保障微服务配置的高效性,指标采集模块实时增量采集业务的微服务的各种指标。
在本发明实施例中,微服务的各种指标的采集方式有两种:磁盘采集和流式采集,磁盘采集是指主机设备先将各种指标写入日志,指标采集模块监听该日志,从磁盘读取日志中的 微服务的各种指标对应的数据;流式采集是指标采集模块直接从内存中读取微服务的各种指标对应的数据。
步骤302,各个主机设备将采集到的微服务的各个指标发送给管理设备,管理设备接收各个主机设备发送的微服务的各个指标。
为了保证微服务性能KPI数据传输的时效性,在本发明实施例中,主机设备可以采用异步非阻塞通信、二进制传输和码流压缩技术来发送采集到的微服务的各个指标。具体的,主机设备中的指标采集模块可以调用管理设备提供的接口,将采集到的微服务的各个指标据通过异步二进制压缩的方式发送给管理设备。
步骤303,管理设备获取一个业务的微服务的各个指标。
在本发明实施例中,管理设备可以对各个主机设备发送过来的各个微服务的指标的数据进行汇集,由于在实际应用中,各个主机设备中的指标采集模块的版本可能并不一致,导致发送过来的数据的格式也可能不一致,此时,管理设备还可以对各个主机设备发来的各个微服务的指标的数据进行格式化,以便后续通过统一的数据格式对指标进行处理。
在本发明实施例中,管理设备可以按照一定的周期对微服务进行配置,在获取一个业务的微服务的各个指标时,管理设备可以获取该业务的微服务在上一单位时间段内的各个指标,针对该上一单位时间段内的各个指标进行后续步骤的处理。
该步骤303可以由图2中的处理器21执行指标获取模块23a1来实现。
步骤304,管理设备根据该业务的微服务的标识信息,以及标识信息与指标权重信息之间的对应关系查询该业务的微服务对应的指标权重信息。
其中,各个业务的微服务的性能权重信息可以由管理人员或系统进行设置或更新。
微服务随业务形态的不同,其配置参数也存在较大差异性,例如计费微服务,对微服务调用的成功率要求非常高(例如99.999%),在对计费微服务做服务配置时,需要重点关注计费微服务的调用成功率参数指标。而对于论坛类微服务,例如用户评论微服务,对并发量和吞吐量的要求较高,但是对成功率要求相对低一些(例如电商大促时会关闭或者对用户评论功能做服务降级),在对用户评论微服务做配置时,往往会重点关注微服务的每秒事务处理量(英文:Transaction Per Second,TPS)和并发调用量参数指标。对此,在本发明实施例中,管理人员或者系统可以预先设置各个业务的微服务对应的指标权重,不同的业务的微服务对应的指标权重信息也可以不同,管理设备在对一个业务的微服务的各个指标进行处理时,首先可以查询该业务的微服务对应的指标权重信息,按照该指标权重信息进行后续处理。
该步骤304可以由图2中的处理器21执行权重查询模块23a5来实现。
步骤305,管理设备根据获取到的该业务的微服务的各个指标、该业务的微服务对应的指标权重信息以及健康度模型计算该业务的微服务的健康度分值。
其中,指标权重信息用于指示对应的微服务的各个指标各自的权重,不同的业务的微服务对应的健康度模型是相同的;并且,不同的业务的微服务对应的指标权重信息可以相同,也可以不同。
在本发明实施例中,系统中的各个业务的微服务共用一个健康度模型,该健康度模型结合一个业务的微服务的具体指标以及权重即可以计算出该业务的微服务对应的健康度分值,不同的业务的微服务之间通过不同的指标权重信息来区分,不需要为每一个业务的微服务设置独立的健康度模型,即通过统一的健康度模型来屏蔽业务之间的差异,从而简化系统的复杂度,使得系统更加简单、实用和高效。
比如,管理人员或系统可以通过动态调整影响微服务的健康度分值的权重,来对业务的微服务的健康度做差异化评价,以计费和用户评论微服务为例,计费微服务对成功率参数指标更加关注,系统可以将计费类的微服务调用成功率的权重调大,则该成功率参数指标项对计费类的微服务的健康度分值的影响就更大。而对于用户评论微服务,系统将吞吐量参数指标的权重调大。
对不需要做差异化配置的微服务,系统采用默认的权重。对于需要做差异化配置的微服务,系统可以将权重和微服务的映射关系预置到数据库或内存中,通过微服务的名称、版本号等信息在数据库或内存做匹配,获取差异化的权重,并根据匹配到的权重对微服务进行健康度的分值计算。
在本发明实施例中,业务的微服务在上一单位时间段内的各个指标包括下列指标中的至少一种:
不可用时长、可用时长、服务正常时的吞吐量、服务正常时的调用总次数、容错降级的调用次数、强制降级的调用次数、服务降级调用总次数、并行控制调用总次数、并行控制时丢弃的调用次数、流量控制调用总次数、流量控制时丢弃的调用次数、服务异常时的调用总次数、调用延时高于延时门限的调用次数比例、调用失败次数、路由失败次数、调用超时次数以及其它调用故障次数。
以上述指标为例,在本发明实施例中,管理设备可以按照下列公式计算该微服务在上一单位时间段内的该健康度分值:
该健康度分值=100*(((K1*微服务可用性分值)+(K2*微服务亚健康分值))/(K1+K2))-事件扣分;
其中,该微服务可用性分值=(可用时长/单位时间段时长)*(被处理调用次数/调用总次数);该被处理调用次数/调用总次数=(((K3*((服务降级调用总次数-α*容错降级的调用次数-β*强制降级的调用次数)/服务降级调用总次数)+K4*((并行控制调用总次数–并行控制时丢弃的调用次数)/并行控制调用总次数)+K5*((流量控制调用总次数–流量控制时丢弃的调用次数)/流量控制调用总次数)))/(K3+K4+K5))*服务异常时的调用总次数+服务正常是的调用总次数);
该微服务亚健康分值=调用延时高于延时门限的调用次数比例;
该事件扣分=该单位时间段内,调用失败次数、路由失败次数、调用超时次数以及其它调用故障次数中超过预设次数阈值的事件的数量*预定数值V;
其中,上述K1为该微服务可用性分值对应的权重,K2为该微服务亚健康分值对应的权重,K3为服务降级事件对应的权重,α为该容错降级的调用次数对应的权重,β为该强制降级的调用次数对应的权重,K4为并行控制事件对应的权重,K5为流量控制事件对应的权重。
该步骤305可以由图2中的处理器21执行分值计算模块23a2来实现。
步骤306,当该业务的微服务的健康度分值低于预设的分值阈值时,管理设备根据该健康度分值确定对该业务的微服务的配置参数。
当该微服务的健康度分值低于预设的分值阈值时,管理设备根据该健康度分值从配置参数数据库中确定出与该健康度分值相适配的,该业务的微服务对应的配置参数。
具体的,在本发明实施例中,管理设备计算获得业务的微服务的健康度分值后,将获得的健康度分值与预置的健康度分值比对,确定其是否达到预期,如果没有达到预期,则基于获得的健康度分值、配置参数数据库和预设算法,通过机器学习的方式寻找合适的配置参数, 并输出配置参数。
该步骤306可以由图2中的处理器21执行参数确定模块23a3来实现。
步骤307,管理设备根据该配置参数对该业务的微服务进行配置。
在本发明实施例中,管理设备对业务的微服务进行配置时,可以根据该配置参数,对业务的微服务执行流量控制、服务降级、超时控制、优先级调度、流量偏移以及弹性伸缩中的至少一种配置。
管理设备可以在下一单位时间段内,根据该配置参数对该业务的微服务进行配置。具体的,对于包含该业务的微服务在内的至少两种微服务,该管理设备向该至少两种微服务各自对应的主机设备依次发送配置请求,该配置请求中包含对应的微服务的配置参数,且该配置请求用于指示对应的主机设备根据该配置请求对应的微服务的配置参数对该配置请求对应的微服务进行配置,管理设备设置该至少两种微服务各自对应的监听器,该监听器用于监听对应的主机设备返回的配置结果,用于当该至少两种微服务各自对应的监听器都接收到各自对应的配置结果时,管理设备确定对该至少两种微服务配置完成。
为了提升微服务的配置效率,提高并发性和时效性,降低时延,管理设备在发送一个业务的微服务的配置请求时,可以通过调用该微服务对应的服务配置接口,来向对应的主机设备发送该配置请求。具体的,本发明实施例所示的方案提供一种批量并行调用技术,通过批量调用接口封装、同步转异步和异步转同步技术,实现批量并行异步服务调用,能够大幅降低服务配置接口调用的时延,提升微服务配置的时效性。由于微服务配置操作之间是彼此独立、无逻辑上下文依赖的操作,因此对它们串行的接口调用可以优化成并行调用,封装的批量服务接口代码示例如下:
ParallelFuture future=ParallelFuture.invokeService{service1,service2…serviceN}
Object[]results=future.get();
利用上述接口,一次服务调用就可以实现对多个业务的微服务做并行配置操作。
如果是单纯的接口封装,内部还采用串行同步服务调用,则仍然会阻塞当前线程,无法实现并行加速的效果。为了解决这个问题,本发明实施例把串行同步操作转成异步操作,具体的,接口服务调用可以使用异步非阻塞I/O,而网络的I/O读写操作不会阻塞调用线程,发起服务调用之后不需要挂起线程等待应答,而是将调用上下文保存到Future中,注册结果通知Listener到Future中,一旦服务提供者返回应答,则根据消息ID获取到系统上下文,回调Future中的Listener,获取结果,并通知监听者。
以Java语言为例,本发明实施例给出一种批量同步转异步、异步汇聚转同步的关键流程,该流程实现如下:
1、通过批量服务调用接口发起并行服务调用。
2、ParallelInvoker负责构建ParallelFuture对象,ParallelFuture中保存了服务调用上下文信息,用于异步接收结果。
3、由于CommonInvoker接口支持异步非阻塞I/O调用,不会阻塞调用线程,所以循环串行调用CommonInvoker的接口。
4、不需要同步等待服务调用结果,立即返回ParallelFuture对象。
5、每个服务调用的Future都会持有一个ParallelFuture的指针引用,当某个服务SourceHandler的onReceiveResponse被触发时,说明该服务调用的结果已经返回。在该方 法中,根据索引信息更新ParallelFuture的结果。当所有服务调用结果都被成功设置到ParallelFuture中之后,批量服务调用完成。
6、调用get(timeout)接口,主动等待批量调用的应答返回。
7、如果所有服务调用的结果都已经汇聚到ParallelFuture,则get(timeout)接口返回包含所有服务调用结果的对象数组。
通过上述方法,微服务配置的总耗时可以压缩为单个微服务配置的耗时中的最大值,而不是传统的所有微服务配置耗时之和。
该步骤307可以由图2中的处理器21执行配置模块23a4来实现。
其中,上述的上一单位时间段可以是管理设备获取业务的微服务的各个指标的时刻点之前,时间长度为一个单位时间长度的时间段,该管理设备获取业务的微服务的各个指标的时刻点可以是该上一单位时间段的结束时刻点,也可以在该上一单位时间段的结束时刻点之后;相应的,上述的下一单位时间段可以是管理设备获取业务的微服务的各个指标的时刻点之后,时间长度为一个单位时间长度的时间段,该管理设备获取业务的微服务的各个指标的时刻点可以是该下一单位时间段的开始时刻点,也可以在该下一单位时间段的开始时刻点之前。
具体的,以管理设备按照一小时为一个周期对业务的微服务进行配置为例,管理设备将每个小时划分为一个单位时间段,假设上述的上一单位时间段为(5:00:00,6:00:00),则下一单位时间段为(6:00:00,7:00:00),管理设备在6:00:00时刻点开始执行步骤303至步骤307,通过业务的微服务在5:00:00-6:00:00内的各项指标确定该业务的微服务在6:00:00-7:00:00内的配置参数,并对该业务的微服务进行配置。
或者,以管理设备按照一小时为一个周期对业务的微服务进行配置为例,管理设备将每个小时中的后59分钟划分为一个单位时间段,假设上述的上一单位时间段为(5:01:00,6:00:00),则下一单位时间段为(6:01:00,7:00:00),管理设备在6:00:00至6:01:00内执行步骤303至步骤306,通过业务的微服务在5:01:00-6:00:00内的各项指标确定该业务的微服务在6:01:00-7:00:00内的配置参数,并从6:01:00时刻点开始执行步骤307,对该业务的微服务进行配置。
步骤308,在指定时间段内,管理设备根据该业务的微服务在该指定时间段开始之前的预定时长范围内的各个指标进行离线自动演练,获得该业务的微服务对应各个健康度分值的配置参数。
该步骤308可以由图2中的处理器21执行演练模块23a6来实现。
步骤309,管理设备根据获得的该配置参数更新该配置参数数据库。
该步骤309可以由图2中的处理器21执行更新模块23a7来实现。
在本发明实施例中,管理设备在空闲时(例如凌晨),可以根据采集到的各种原始数据和测试流量做离线自动演练,寻找最优的配置参数,并把其更新至配置参数数据库中。
综上所述,本发明实施例提供的微服务配置方法,管理设备获取业务的微服务的各个指标,不同业务的微服务的各个指标的类型是相同的,根据业务的微服务的各个指标、指标权重信息以及健康度模型计算业务的微服务的健康度分值,不同业务的微服务对应的健康度模型是相同的,当业务的微服务的健康度分值低于预设的分值阈值时,根据健康度分值确定对业务的微服务的配置参数,根据配置参数对业务的微服务进行配置,不需要运维人员区分对每个微服务的服务性能影响较大的指标,并按照区分出的指标来判断并选择配置参数,从而 提高服务配置的效率和准确性,同时,不同业务的微服务之间通过不同的指标权重信息来区分,不需要为每一个业务的微服务设置独立的健康度模型,即通过统一的健康度模型来屏蔽微服务之间的差异,从而简化系统的复杂度,使得系统更加简单、实用和高效。
请参考图4,其示出了本发明一个实施例提供的微服务配置装置的框图。该装置可以通过硬件或者软硬结合的方式实现为图1所示网络环境的管理设备110的部分或者全部,用以执行如图3中由管理络设备所执行的全部或者部分步骤。该装置可以包括:指标获取模块23a1、分值计算模块23a2、参数确定模块23a3、配置模块23a4、权重查询模块23a5、演练模块23a6以及更新模块23a7;
在本实施例中,该装置是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
指标获取单元401,具有与指标获取模块23a1相同或相似的功能。
分值计算单元402,用于与分值计算模块23a2相同或相似的功能。
参数确定单元403,具有与参数确定模块23a3相同或相似的功能。
配置单元404,用于与配置模块23a4相同或相似的功能。
权重查询单元405,具有与权重查询模块23a5相同或相似的功能。
演练单元406,用于与演练模块23a6相同或相似的功能。
更新单元407,具有与更新模块23a7相同或相似的功能。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

  1. 一种微服务配置装置,其特征在于,所述装置包括:
    指标获取单元,用于获取业务的微服务的各个指标,不同业务的微服务的各个指标的类型是相同的;
    分值计算单元,用于根据所述业务的微服务的各个指标、所述业务的微服务对应的指标权重信息以及健康度模型计算所述业务的微服务的健康度分值,所述指标权重信息指示业务的微服务的各个指标在所述健康度模型中的权重,不同业务的微服务对应的健康度模型是相同的;
    参数确定单元,用于当所述业务的微服务的健康度分值低于预设的分值阈值时,根据所述健康度分值确定对所述业务的微服务的配置参数;
    配置单元,用于根据所述配置参数对所述业务的微服务进行配置。
  2. 根据权利要求1所述的装置,其特征在于,所述配置单元,具体用于根据所述配置参数,对所述业务的微服务执行流量控制、服务降级、超时控制、优先级调度、流量偏移以及弹性伸缩中的至少一种配置。
  3. 根据权利要求1或2所述的装置,其特征在于,所述装置还包括:
    权重查询单元,用于在所述分值计算单元根据所述业务的微服务的各个指标、所述业务的微服务对应的指标权重信息以及健康度模型计算所述业务的微服务的健康度分值之前,根据所述业务的微服务的标识信息,以及所述标识信息与所述指标权重信息之间的对应关系查询所述指标权重信息。
  4. 根据权利要求1或2所述的装置,其特征在于,
    所述指标获取单元,具体用于获取所述业务的微服务在上一单位时间段内的各个指标;
    所述配置单元,具体用于在下一单位时间段内,根据所述配置参数对所述业务的微服务进行配置。
  5. 根据权利要求1或2所述的装置,其特征在于,所述业务的微服务包括至少两种微服务,所述配置单元,具体用于
    对于包含所述业务的微服务在内的至少两种微服务,向所述至少两种微服务各自对应的主机设备依次发送配置请求,所述配置请求中包含对应的微服务的配置参数,且所述配置请求用于指示对应的主机设备根据所述配置请求对应的微服务的配置参数对所述配置请求对应的微服务进行配置;
    设置所述至少两种微服务各自对应的监听器,所述监听器用于监听对应的主机设备返回的配置结果;
    当所述至少两种微服务各自对应的监听器都接收到各自对应的配置结果时,确定对所述至少两种微服务配置完成。
  6. 根据权利要求4所述的装置,其特征在于,所述分值计算单元,具体用于按照下列公式计算所述业务的微服务在上一单位时间段内的所述健康度分值:
    所述健康度分值=100*(((K1*微服务可用性分值)+(K2*微服务亚健康分值))/(K1+K2))-事件扣分;
    其中,所述微服务可用性分值=(可用时长/单位时间段时长)*(被处理调用次数/调用总次数);所述被处理调用次数/调用总次数=(((K3*((服务降级调用总次数-α*容错降级的调用次数-β*强制降级的调用次数)/服务降级调用总次数)+K4*((并行控制调用总次数–并行控制时丢弃的调用次数)/并行控制调用总次数)+K5*((流量控制调用总次数–流量控制时丢弃的调用次数)/流量控制调用总次数)))/(K3+K4+K5))*服务异常时的调用总次数+服务正常是的调用总次数);
    所述微服务亚健康分值=调用延时高于延时门限的调用次数比例;
    所述事件扣分=所述单位时间段内,调用失败次数、路由失败次数、调用超时次数以及其它调用故障次数中超过预设次数阈值的事件的数量*预定数值V;
    其中,K1为所述微服务可用性分值对应的权重,K2为所述微服务亚健康分值对应的权重,K3为服务降级事件对应的权重,α为所述容错降级的调用次数对应的权重,β为所述强制降级的调用次数对应的权重,K4为并行控制事件对应的权重,K5为流量控制事件对应的权重。
  7. 根据权利要求1或2所述的装置,其特征在于,
    所述参数确定单元,具体用于当所述业务的微服务的健康度分值低于预设的分值阈值时,根据所述健康度分值从配置参数数据库中确定出与所述健康度分值相适配的,所述业务的微服务对应的配置参数。
  8. 根据权利要求7所述的装置,其特征在于,所述装置还包括:
    演练单元,用于在指定时间段内,根据所述业务的微服务在所述指定时间段开始之前的预定时长范围内的各个指标进行离线自动演练,获得所述业务的微服务对应各个健康度分值的配置参数;
    更新单元,用于根据获得的所述配置参数更新所述配置参数数据库。
  9. 一种微服务配置方法,其特征在于,所述方法包括:
    管理设备获取业务的微服务的各个指标,不同业务的微服务的各个指标的类型是相同的;
    所述管理设备根据所述业务的微服务的各个指标、所述业务的微服务对应的指标权重信息以及健康度模型计算所述业务的微服务的健康度分值,所述指标权重信息指示业务的微服务的各个指标在所述健康度模型中的权重,不同业务的微服务对应的健康度模型是相同的;
    当所述业务的微服务的健康度分值低于预设的分值阈值时,所述管理设备根据所述健康度分值确定对所述业务的微服务的配置参数;
    所述管理设备根据所述配置参数对所述业务的微服务进行配置。
  10. 根据权利要求9所述的方法,其特征在于,所述管理设备根据所述配置参数对所述微服务进行配置,包括:
    所述管理设备根据所述配置参数,对所述业务的微服务执行流量控制、服务降级、超时 控制、优先级调度、流量偏移以及弹性伸缩中的至少一种配置。
  11. 根据权利要求9或10所述的方法,其特征在于,所述管理设备根据所述业务的微服务的各个指标、所述业务的微服务对应的指标权重信息以及健康度模型计算所述业务的微服务的健康度分值之前,所述方法还包括:
    所述管理设备根据所述业务的微服务的标识信息,以及所述标识信息与所述指标权重信息之间的对应关系查询所述指标权重信息。
  12. 根据权利要求9或10所述的方法,其特征在于,所述管理设备获取业务的微服务的各个指标,包括:
    所述管理设备获取所述业务的微服务在上一单位时间段内的各个指标;
    所述管理设备根据所述配置参数对所述业务的微服务进行配置,包括:
    在下一单位时间段内,所述管理设备根据所述配置参数对所述业务的微服务进行配置。
  13. 根据权利要求9或10所述的方法,其特征在于,所述管理设备根据所述配置参数对所述业务的微服务进行配置,包括:
    对于包含所述业务的微服务在内的至少两种微服务,所述管理设备向所述至少两种微服务各自对应的主机设备依次发送配置请求,所述配置请求中包含对应的微服务的配置参数,且所述配置请求用于指示对应的主机设备根据所述配置请求对应的微服务的配置参数对所述配置请求对应的微服务进行配置;
    所述管理设备设置所述至少两种微服务各自对应的监听器,所述监听器用于监听对应的主机设备返回的配置结果;
    所述管理设备,用于当所述至少两种微服务各自对应的监听器都接收到各自对应的配置结果时,确定对所述至少两种微服务配置完成。
  14. 根据权利要求12所述的方法,其特征在于,所述微服务在上一单位时间段内的各个指标包括下列指标中的至少一种:
    不可用时长、可用时长、服务正常时的吞吐量、服务正常时的调用总次数、容错降级的调用次数、强制降级的调用次数、服务降级调用总次数、并行控制调用总次数、并行控制时丢弃的调用次数、流量控制调用总次数、流量控制时丢弃的调用次数、服务异常时的调用总次数、调用延时高于延时门限的调用次数比例、调用失败次数、路由失败次数、调用超时次数以及其它调用故障次数。
  15. 根据权利要求14所述的方法,其特征在于,所述管理设备根据所述微服务的各个指标、所述微服务对应的指标权重信息以及健康度模型计算所述微服务的健康度分值,包括:
    所述管理设备按照下列公式计算所述业务的微服务在上一单位时间段内的所述健康度分值:
    所述健康度分值=100*(((K1*微服务可用性分值)+(K2*微服务亚健康分值))/(K1+K2))-事件扣分;
    其中,所述微服务可用性分值=(可用时长/单位时间段时长)*(被处理调用次数/调用总 次数);所述被处理调用次数/调用总次数=(((K3*((服务降级调用总次数-α*容错降级的调用次数-β*强制降级的调用次数)/服务降级调用总次数)+K4*((并行控制调用总次数–并行控制时丢弃的调用次数)/并行控制调用总次数)+K5*((流量控制调用总次数–流量控制时丢弃的调用次数)/流量控制调用总次数)))/(K3+K4+K5))*服务异常时的调用总次数+服务正常是的调用总次数);
    所述微服务亚健康分值=调用延时高于延时门限的调用次数比例;
    所述事件扣分=所述单位时间段内,调用失败次数、路由失败次数、调用超时次数以及其它调用故障次数中超过预设次数阈值的事件的数量*预定数值V;
    其中,K1为所述微服务可用性分值对应的权重,K2为所述微服务亚健康分值对应的权重,K3为服务降级事件对应的权重,α为所述容错降级的调用次数对应的权重,β为所述强制降级的调用次数对应的权重,K4为并行控制事件对应的权重,K5为流量控制事件对应的权重。
  16. 根据权利要求9或10所述的方法,其特征在于,所述当所述业务的微服务的健康度分值低于预设的分值阈值时,所述管理设备根据所述健康度分值确定对所述业务的微服务的配置参数,包括:
    当所述业务的微服务的健康度分值低于预设的分值阈值时,所述管理设备根据所述健康度分值从配置参数数据库中确定出与所述健康度分值相适配的,所述业务的微服务对应的配置参数。
  17. 根据权利要求16所述的方法,其特征在于,所述方法还包括:
    在指定时间段内,所述管理设备根据所述业务的微服务在所述指定时间段开始之前的预定时长范围内的各个指标进行离线自动演练,获得所述业务的微服务对应各个健康度分值的配置参数;
    根据获得的所述配置参数更新所述配置参数数据库。
PCT/CN2017/091273 2016-09-19 2017-06-30 微服务配置装置及方法 WO2018049872A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP17850075.7A EP3499800B1 (en) 2016-09-19 2017-06-30 Microservice configuration apparatus and method
US16/358,266 US10812333B2 (en) 2016-09-19 2019-03-19 Microservice configuration apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610832294.3 2016-09-19
CN201610832294.3A CN107846295B (zh) 2016-09-19 2016-09-19 微服务配置装置及方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/358,266 Continuation US10812333B2 (en) 2016-09-19 2019-03-19 Microservice configuration apparatus and method

Publications (1)

Publication Number Publication Date
WO2018049872A1 true WO2018049872A1 (zh) 2018-03-22

Family

ID=61619848

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/091273 WO2018049872A1 (zh) 2016-09-19 2017-06-30 微服务配置装置及方法

Country Status (4)

Country Link
US (1) US10812333B2 (zh)
EP (1) EP3499800B1 (zh)
CN (1) CN107846295B (zh)
WO (1) WO2018049872A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033435A (zh) * 2018-08-14 2018-12-18 安徽云才信息技术有限公司 一种跨微服务的模糊搜索方法
CN110098974A (zh) * 2019-03-19 2019-08-06 浙江大华技术股份有限公司 视频云存储的运维方法、装置、系统、设备和存储介质
CN110266544A (zh) * 2019-06-28 2019-09-20 苏州浪潮智能科技有限公司 一种云平台微服务化服务失败的原因定位的装置及方法
CN110673881A (zh) * 2019-09-06 2020-01-10 深圳平安通信科技有限公司 微服务集群的配置管理方法、装置和计算机设备
WO2020075017A1 (en) * 2018-10-12 2020-04-16 International Business Machines Corporation Auto tuner for cloud micro services embeddings
CN111163085A (zh) * 2019-12-29 2020-05-15 北京车与车科技有限公司 一种灰度发布场景优化方法

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107846295B (zh) * 2016-09-19 2020-06-26 华为技术有限公司 微服务配置装置及方法
US10412154B2 (en) * 2017-04-17 2019-09-10 Red Hat, Inc. Configuration recommendation for a microservice architecture
JP6933155B2 (ja) * 2018-02-08 2021-09-08 日本電信電話株式会社 オペレーション装置およびオペレーション方法
CN108880854B (zh) * 2018-04-09 2021-10-29 创新先进技术有限公司 一种服务降级的方法、装置及设备
CN108923952B (zh) * 2018-05-31 2021-11-30 北京百度网讯科技有限公司 基于服务监控指标的故障诊断方法、设备及存储介质
CN108924221B (zh) * 2018-06-29 2020-08-25 华为技术有限公司 分配资源的方法和装置
CN108898912B (zh) * 2018-07-16 2020-11-06 国网江苏省电力有限公司 基于云技术的电网调度员培训仿真方法及系统
CN110740151B (zh) * 2018-07-20 2022-05-31 中移动信息技术有限公司 一种微服务调整方法、装置、服务器及计算机存储介质
CN110890972B (zh) * 2018-09-07 2022-06-28 中国移动通信集团浙江有限公司 一种业务系统的健康度评估方法及装置
CN109062599B (zh) * 2018-09-11 2021-11-26 郑州云海信息技术有限公司 微服务架构下代码更新的管理方法和装置
CN111262898B (zh) * 2018-12-01 2022-06-14 阿里巴巴集团控股有限公司 服务降级处理方法、装置及电子设备
CN111490890A (zh) * 2019-01-28 2020-08-04 珠海格力电器股份有限公司 基于微服务架构的分级注册方法、装置、存储介质及设备
CN110162414B (zh) * 2019-02-01 2024-01-30 腾讯科技(深圳)有限公司 基于微服务架构实现人工智能服务的方法及装置
CN109976935B (zh) * 2019-03-14 2020-09-04 北京三快在线科技有限公司 微服务架构、微服务节点及其熔断恢复方法、装置
CN110175769B (zh) * 2019-05-21 2021-08-24 国网山东省电力公司 一种基于微服务架构的资产价值评价方法、装置及系统
CN112231187B (zh) * 2019-07-15 2022-07-26 华为技术有限公司 微服务异常分析方法及装置
CN112395148A (zh) * 2019-08-14 2021-02-23 北京国双科技有限公司 微服务评价的量化方法、装置、计算机设备和存储介质
US11363441B2 (en) * 2019-09-24 2022-06-14 At&T Intellectual Property I, L.P. Facilitating mobility as a service in fifth generation (5G) or other advanced networks
CN112783641A (zh) * 2019-11-11 2021-05-11 马上消费金融股份有限公司 一种服务接口流控方法及装置
US11038763B1 (en) 2019-12-02 2021-06-15 At&T Intellectual Property I, L.P. Intelligent policy control engine for 5G or other next generation network
US11175947B2 (en) 2019-12-03 2021-11-16 International Business Machines Corporation Microservices change management and analytics
CN111242428A (zh) * 2019-12-31 2020-06-05 华为技术有限公司 微服务处理方法、装置、设备及存储介质
CN111324471B (zh) * 2020-01-22 2023-07-21 远景智能国际私人投资有限公司 服务调整方法、装置、设备及存储介质
US11632310B2 (en) * 2020-02-13 2023-04-18 Acronis International Gmbh Systems and methods for pattern-based quality of service (QoS) violation prediction
US11582757B2 (en) * 2020-02-26 2023-02-14 At&T Iniellectual Property I, L.P. Facilitation of radio access network intelligent controller resource preservation framework for 5G or other next generation network
CN113407224A (zh) * 2020-03-17 2021-09-17 北京亿阳信通科技有限公司 一种微服务管理方法和装置
CN111309490A (zh) * 2020-03-26 2020-06-19 北京奇艺世纪科技有限公司 一种资源分配方法、装置、电子设备及存储介质
CN111813568B (zh) * 2020-05-25 2024-05-31 北京皮尔布莱尼软件有限公司 一种服务管理系统和方法
CN111698301A (zh) * 2020-05-29 2020-09-22 成都新希望金融信息有限公司 一种保证服务延续的服务管理方法、装置及存储介质
CN113849362B (zh) * 2020-06-28 2024-06-04 腾讯科技(深圳)有限公司 一种业务服务平台管理方法、装置和计算机可读存储介质
CN112068820B (zh) * 2020-07-27 2023-08-08 北京旷视科技有限公司 微服务的配置处理方法、装置、计算机设备和存储介质
US11824734B2 (en) * 2020-08-24 2023-11-21 HCL America Inc. System providing management of services and a method thereof
CN112187521A (zh) * 2020-09-09 2021-01-05 上海微亿智造科技有限公司 一种基于Apollo实现工业互联网分布式服务降级系统
CN112199426B (zh) * 2020-09-24 2023-06-02 建信金融科技有限责任公司 微服务架构下的接口调用管理方法、装置、服务器及介质
CN112491585B (zh) * 2020-11-04 2022-07-05 新华三大数据技术有限公司 微服务健康度评估方法及装置
CN112487318A (zh) * 2020-11-25 2021-03-12 北京宝兰德软件股份有限公司 一种业务健康度计算方法、装置、电子设备及存储介质
CN114726789A (zh) * 2021-01-05 2022-07-08 华为云计算技术有限公司 流量管理、配置流量管理策略的方法、装置、设备及介质
CN113067725B (zh) * 2021-03-12 2023-02-17 恩亿科(北京)数据科技有限公司 服务配置动态更新方法、系统、电子设备及可读存储介质
CN113360353B (zh) * 2021-05-08 2023-01-06 山东英信计算机技术有限公司 一种测试服务器和云平台
CN113485720B (zh) * 2021-05-21 2022-05-27 苏州德姆斯信息技术有限公司 一种微服务系统的离线升级方法
US11729082B2 (en) 2021-11-18 2023-08-15 Cisco Technology, Inc. Techniques for providing inter-cluster dependencies
US20230153736A1 (en) * 2021-11-18 2023-05-18 Cisco Technology, Inc. Providing business values with service health scores
CN115118769B (zh) * 2022-06-28 2024-02-02 深圳前海微众银行股份有限公司 一种业务系统参数配置、微服务执行方法及装置
CN115190178B (zh) * 2022-08-10 2024-03-08 苏州创意云网络科技有限公司 一种微服务分流方法、装置和设备
CN116204379B (zh) * 2023-02-03 2023-08-15 安芯网盾(北京)科技有限公司 一种服务端软件健康检测方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064820A (zh) * 2012-12-26 2013-04-24 无锡江南计算技术研究所 一种基于可重构微服务器的集群计算系统
CN105162884A (zh) * 2015-09-25 2015-12-16 浪潮(北京)电子信息产业有限公司 一种基于微服务架构的云管理平台
US20160112475A1 (en) * 2014-10-21 2016-04-21 Twilio, Inc. System and method for providing a micro-services communication platform

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7877644B2 (en) * 2007-04-19 2011-01-25 International Business Machines Corporation Computer application performance optimization system
CN102508771B (zh) * 2011-10-12 2015-01-07 山东中创软件商用中间件股份有限公司 一种软件运行状态评价方法
US9775008B2 (en) * 2015-01-14 2017-09-26 Kodiak Networks, Inc. System and method for elastic scaling in a push to talk (PTT) platform using user affinity groups
US10048830B2 (en) * 2015-12-03 2018-08-14 Sap Se System and method for integrating microservices
CN105550130A (zh) * 2015-12-14 2016-05-04 中电科华云信息技术有限公司 基于容器的应用环境动态编排的方法及其应用系统
US10635563B2 (en) * 2016-08-04 2020-04-28 Oracle International Corporation Unsupervised method for baselining and anomaly detection in time-series data for enterprise systems
US11082439B2 (en) * 2016-08-04 2021-08-03 Oracle International Corporation Unsupervised method for baselining and anomaly detection in time-series data for enterprise systems
CN107846295B (zh) * 2016-09-19 2020-06-26 华为技术有限公司 微服务配置装置及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064820A (zh) * 2012-12-26 2013-04-24 无锡江南计算技术研究所 一种基于可重构微服务器的集群计算系统
US20160112475A1 (en) * 2014-10-21 2016-04-21 Twilio, Inc. System and method for providing a micro-services communication platform
CN105162884A (zh) * 2015-09-25 2015-12-16 浪潮(北京)电子信息产业有限公司 一种基于微服务架构的云管理平台

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3499800A4 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033435A (zh) * 2018-08-14 2018-12-18 安徽云才信息技术有限公司 一种跨微服务的模糊搜索方法
WO2020075017A1 (en) * 2018-10-12 2020-04-16 International Business Machines Corporation Auto tuner for cloud micro services embeddings
US10673708B2 (en) 2018-10-12 2020-06-02 International Business Machines Corporation Auto tuner for cloud micro services embeddings
GB2587765A (en) * 2018-10-12 2021-04-07 Ibm Auto tuner for cloud micro services embeddings
GB2587765B (en) * 2018-10-12 2021-08-25 Ibm Auto tuner for cloud micro services embeddings
CN110098974A (zh) * 2019-03-19 2019-08-06 浙江大华技术股份有限公司 视频云存储的运维方法、装置、系统、设备和存储介质
CN110266544A (zh) * 2019-06-28 2019-09-20 苏州浪潮智能科技有限公司 一种云平台微服务化服务失败的原因定位的装置及方法
CN110673881A (zh) * 2019-09-06 2020-01-10 深圳平安通信科技有限公司 微服务集群的配置管理方法、装置和计算机设备
CN110673881B (zh) * 2019-09-06 2023-03-28 深圳平安通信科技有限公司 微服务集群的配置管理方法、装置和计算机设备
CN111163085A (zh) * 2019-12-29 2020-05-15 北京车与车科技有限公司 一种灰度发布场景优化方法
CN111163085B (zh) * 2019-12-29 2022-10-14 北京车与车科技有限公司 一种灰度发布场景优化方法

Also Published As

Publication number Publication date
EP3499800B1 (en) 2020-10-21
EP3499800A4 (en) 2019-06-26
CN107846295A (zh) 2018-03-27
CN107846295B (zh) 2020-06-26
US10812333B2 (en) 2020-10-20
US20190215239A1 (en) 2019-07-11
EP3499800A1 (en) 2019-06-19

Similar Documents

Publication Publication Date Title
WO2018049872A1 (zh) 微服务配置装置及方法
US8730819B2 (en) Flexible network measurement
US10924398B2 (en) Time-series data monitoring with sharded server
WO2020238345A1 (zh) 压力测试方法、装置、系统、设备及计算机可读存储介质
US20210184947A1 (en) Automatic capture of detailed analysis information based on remote server analysis
WO2021004063A1 (zh) 一种缓存服务器的带宽调度方法及装置
US20150237119A1 (en) Naming of distributed business transactions
WO2020108507A1 (zh) 提供网络功能服务的元数据信息的方法、系统以及相关设备
US20150067147A1 (en) Group server performance correction via actions to server subset
Luo et al. Plink: Discovering and exploiting locality for accelerated distributed training on the public cloud
US9959301B2 (en) Distributing and processing streams over one or more networks for on-the-fly schema evolution
US20110172963A1 (en) Methods and Apparatus for Predicting the Performance of a Multi-Tier Computer Software System
WO2021227785A1 (zh) 流媒体的指标采集处理方法、装置、计算机及存储介质
WO2021208682A1 (zh) 网络设备的数据采样方法、装置、设备及介质
WO2019109961A1 (zh) 故障诊断方法及装置
US20170163505A1 (en) Application centric network experience monitoring
WO2023123956A1 (zh) 一种io全生命周期时延监测方法及相关装置
CN113010392A (zh) 大数据平台的测试方法、装置、设备、存储介质和系统
WO2020119826A1 (zh) 处理器的占用率获取方法、装置及计算机可读存储介质
WO2019169727A1 (zh) 网络流量测试方法、装置、设备以及计算机可读存储介质
TWI644258B (zh) 韌體管理伺服器及其韌體升版方法
WO2023010823A1 (zh) 网络故障根因的确定方法、装置、设备及存储介质
EP3306471A1 (en) Automatic server cluster discovery
CN111813621A (zh) 基于Flume数据中台的数据处理方法、装置、设备及介质
TWI786435B (zh) 用於實例化虛擬網路功能的方法及使用該方法的電子裝置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17850075

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017850075

Country of ref document: EP

Effective date: 20190312

NENP Non-entry into the national phase

Ref country code: DE