CN106603631B - Distributed message system and capacity expansion method - Google Patents

Distributed message system and capacity expansion method Download PDF

Info

Publication number
CN106603631B
CN106603631B CN201611024161.XA CN201611024161A CN106603631B CN 106603631 B CN106603631 B CN 106603631B CN 201611024161 A CN201611024161 A CN 201611024161A CN 106603631 B CN106603631 B CN 106603631B
Authority
CN
China
Prior art keywords
cluster
resource
agent
capacity expansion
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611024161.XA
Other languages
Chinese (zh)
Other versions
CN106603631A (en
Inventor
虞开元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201611024161.XA priority Critical patent/CN106603631B/en
Publication of CN106603631A publication Critical patent/CN106603631A/en
Application granted granted Critical
Publication of CN106603631B publication Critical patent/CN106603631B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention provides a distributed message system and a capacity expansion method, wherein the system comprises: the cluster resource monitoring module is used for monitoring the hardware resource use information of the agent end in real time, counting the resource use exceeding rate of the agent end and sending out a capacity expansion request when the resource use exceeding rate of the agent end reaches a threshold value; the cluster resource management module is used for receiving the capacity expansion request sent by the cluster resource monitoring module, calculating resources required for capacity expansion according to the capacity expansion request and sending a resource balancing request; and the load balancing notification module is used for receiving the resource balancing request sent by the cluster resource management module, initiating resource change operation to the public addresses monitored by the message sending end and the message receiving end, and recording the resources required by the expansion on the public addresses. The invention can realize automatic capacity expansion.

Description

Distributed message system and capacity expansion method
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a distributed message system and a capacity expansion method.
Background
A distributed message system service is a service which provides temporary storage of messages and distribution of messages on different computers at the same time. Referring to fig. 1, which is a schematic diagram of a distributed message system architecture, the entire system includes a message sender cluster 101, a proxy cluster 102, and a message receiver cluster 103, where the message sender cluster 101 includes a plurality of message senders 1011, 1012, 1013 …, the proxy cluster 102 includes a plurality of proxy clients 1021, 1022 …, and the message receiver cluster 103 includes a plurality of message receivers 1031, 1032, 1033 …. The message sending end (Producer or Producer) constructs messages with different themes, the messages are sent to an agent end (Broker) with a message system service deployed in a local area network for temporary storage, and the message receiving end (consumer or Customer) obtains corresponding messages from the message system cluster according to the themes subscribed by the message receiving end for subsequent processing. The distributed message system is characterized in that message services are distributed on a plurality of computers, high availability is achieved through a fault tolerance mechanism, and high throughput is supported through a load balancing strategy.
However, in a practical application environment, the distributed messaging system service lacks the function of automatic extension. With the increase of the traffic volume, the service of the message system can gradually fail to support larger and larger throughput, and at this time, the operation and maintenance personnel need to perform capacity expansion according to the load of the service of the message system and predict the future load. The capacity expansion mode at least has the following defects: firstly, operation and maintenance personnel are required to observe system loads, after confirming that the current load can not be supported by the current distributed message system service, the capacity expansion of computer resources of a manual message system cluster is carried out, and the risk of misoperation exists in manual operation; secondly, the future increase of the traffic is not an amount which can be accurately estimated, so that the manual capacity expansion operation may need to be frequently performed; finally, in the capacity expansion process, load balancing of a full cluster occurs once every new service is added, and multiple times of load balancing may cause service instability.
Disclosure of Invention
In order to improve accuracy and stability of capacity expansion of a distributed message system, embodiments of the present invention provide a distributed message system and a capacity expansion method.
According to an aspect of the embodiments of the present invention, a distributed message system is provided, including a message sender cluster, an agent cluster, and a message receiver cluster, where the message sender cluster includes a plurality of message senders, the agent cluster includes a plurality of agent senders, and the message receiver cluster includes a plurality of message receivers, the system further includes: the cluster resource monitoring module is used for monitoring the hardware resource use information of the agent end in real time, counting the resource use exceeding rate of the agent end and sending out a capacity expansion request when the resource use exceeding rate of the agent end reaches a threshold value; the cluster resource management module is used for receiving the capacity expansion request sent by the cluster resource monitoring module, calculating resources required for capacity expansion according to the capacity expansion request and sending a resource balancing request; and the load balancing notification module is used for receiving the resource balancing request sent by the cluster resource management module, initiating resource change operation to the public addresses monitored by the message sending end and the message receiving end, and recording the resources required by the expansion on the public addresses.
Preferably, the cluster resource monitoring module includes a cluster resource monitoring client and a cluster resource monitoring server, wherein the cluster resource monitoring client is deployed at the agent and is configured to monitor hardware resource usage information of the agent in real time and report the monitored hardware resource usage information to the cluster resource monitoring server; the cluster resource monitoring server is used for counting the resource use exceeding rate of the agent end according to the hardware resource use information and sending out a capacity expansion request when the resource use exceeding rate of the agent end reaches a threshold value.
Preferably, the hardware resource usage information of the agent terminal monitored by the cluster resource monitoring client includes: CPU utilization, physical memory utilization, disk space utilization, disk I/O throughput, and/or network card I/O throughput; the cluster resource monitoring server side takes time as a dimension, counts the exceeding rate of the use information of each hardware resource on the agent side, and sends out a capacity expansion request when the exceeding rate of any hardware resource use information exceeds a preset threshold value.
Preferably, the cluster resource management module calculates a time interval of the proxy-side cluster capacity expansion request based on a proxy-side resource, and determines that the resource required for capacity expansion is a preset multiple of a preset capacity expansion given resource if the time interval is lower than a preset standard value and the cluster capacity expansion frequency is high.
Preferably, the cluster resource management module virtualizes the resources required for capacity expansion according to a virtualization technology.
Preferably, after monitoring the resource change operation, the agent executes a load balancing operation and updates the local cluster information cache.
According to another aspect of the embodiments of the present invention, a method for expanding a distributed message system is provided, where the distributed message system includes a message sending end cluster, an agent cluster, and a message receiving end cluster, where the message sending end cluster includes a plurality of message sending ends, the agent cluster includes a plurality of agent ends, and the message receiving end cluster includes a plurality of message receiving ends, the method includes: monitoring the hardware resource use information of the agent end in real time, and counting the resource use overproof rate of the agent end; calculating the resources required by capacity expansion when the resource use standard exceeding rate of the agent end reaches a threshold value; and initiating resource change operation to the public addresses monitored by the message sending end and the message receiving end, and recording the resources required by the expansion on the public addresses.
Preferably, the hardware resource usage information of the agent end includes: CPU utilization, physical memory utilization, disk space utilization, disk I/O throughput, and/or network card I/O throughput; the method further comprises the following steps: determining whether the resource usage overproof rate of the agent side reaches a threshold value, including: and counting the exceeding rate of the use information of each hardware resource on the agent end by taking time as a dimension, and determining that the exceeding rate of the use information of the hardware resource reaches a threshold value when the exceeding rate of any hardware resource exceeds a preset threshold value.
Preferably, the calculating the resources required for capacity expansion includes: calculating the time interval of the agent end cluster capacity expansion request by taking one agent end resource as a reference, and if the time interval is lower than a preset standard value, judging that the cluster capacity expansion frequency is high, and determining that the resource required for capacity expansion is a preset multiple of a preset capacity expansion given resource.
Preferably, the method further comprises: and virtualizing the resources required by the capacity expansion through a virtualization technology.
Preferably, the method further comprises: and after monitoring the resource change operation, the agent terminal executes load balancing operation and updates the local cluster information cache.
Therefore, the distributed message system provided by the embodiment of the invention can realize automatic capacity expansion through the cooperative work of the three newly added modules. Specifically, the use condition of the hardware resources of the agent end is monitored through the cluster resource monitoring module, so that the load of the distributed message system service is automatically detected, whether capacity expansion is needed or not is judged according to the use ratio of the hardware resources of the agent end, and the purpose of automatically judging the capacity expansion opportunity is achieved without manual monitoring; and in the capacity expansion stage, the resources required for capacity expansion are calculated through the cluster resource management module, and the load balancing resource notification module initiates resource updating operation. The distributed message system provided by the embodiment of the invention can automatically complete capacity expansion without manual monitoring and operation, and can effectively avoid the problems of complicated and inaccurate manual operation, low efficiency and the like.
Drawings
FIG. 1 is a diagram of a distributed messaging system architecture in the prior art;
FIG. 2 is a diagram of a distributed messaging system according to an embodiment of the present invention;
FIG. 3 is a schematic diagram illustrating logical processing of modules in a distributed messaging system according to an embodiment of the present invention;
fig. 4 is a flowchart of a capacity expansion method of a distributed message system according to an embodiment of the present invention.
Detailed Description
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in further detail below.
Referring to fig. 2, a diagram of a distributed messaging system architecture is shown.
The existing distributed message system comprises a message sending end cluster 201, a proxy cluster 202 and a message receiving end cluster 203, wherein the proxy cluster 202 is responsible for storing and delivering messages. The message sender cluster 201 includes a plurality of message senders 2011, 2012 and 2013 …, the agent cluster 202 includes a plurality of agent terminals 2021 and 2022 …, and the message receiver cluster 203 includes a plurality of message receivers 2031, 2032 and 2033 …. The message sending end (Producer or Producer) constructs messages with different themes, the messages are sent to an agent end (Broker) with a message system service deployed in a local area network for temporary storage, and the message receiving end (consumer or Customer) obtains corresponding messages from the message system cluster according to the themes subscribed by the message receiving end for subsequent processing.
Typically, the distributed messaging system further includes a NameServer cluster (not shown), which is called a zookeeper and is composed of a plurality of computers, for providing coordination information (e.g., public address) such as name service. The message sending end and the message receiving end can monitor the data on the public address all the time, and if the data on the public address changes, the message sending end and the message receiving end can know the data at the first time. For example, if a new agent is added, and the information on the public address is changed accordingly, the message sending end and the message receiving end can discover the message service on the new agent in the first time.
Compared with the prior art, the distributed message system provided by the embodiment of the invention has an automatic capacity expansion function. Compared with the existing distributed message system, the distributed message system provided by the invention is additionally provided with the following three modules: the cluster resource monitoring module is used for monitoring the hardware resource use information of the agent end in real time, counting the resource use exceeding rate of the agent end and sending out a capacity expansion request when the resource use exceeding rate of the agent end reaches a threshold value; the cluster resource management module is used for receiving the capacity expansion request sent by the cluster resource monitoring module, calculating resources required for capacity expansion according to the capacity expansion request and sending a resource balancing request; and the load balancing notification module is used for receiving the resource balancing request sent by the cluster resource management module, initiating resource change operation to the public addresses monitored by the message sending end and the message receiving end, and recording resources required by capacity expansion on the public addresses.
Still referring to fig. 2, there is shown cluster resource monitoring client 204a and cluster resource monitoring server 204b, cluster resource management module 205, and load balancing notification module 206. The cluster resource monitoring client 204a is deployed on each agent, and the cluster resource monitoring client 204a and the cluster resource monitoring server 204b together form a cluster resource monitoring module.
Preferably, the three newly added modules are mutually independent modules and have independent functions. The cluster resource monitoring module is composed of a cluster resource monitoring client 204a and a cluster resource monitoring server 204b, wherein the cluster resource monitoring client 204a is deployed on an agent end providing message service, and the cluster resource monitoring server 204b is deployed on an independent machine. The cluster resource management module 205 is deployed on a stand-alone machine. The load balancing notification module 206 is deployed on a separate machine.
The following describes the three additional modules in detail.
1. Cluster resource monitoring module
In order to solve the problem of difficulty in selecting capacity expansion time, a cluster resource monitoring module is introduced, and whether a capacity expansion threshold is reached is judged according to the monitored resource use condition.
For a distributed message system, the number of agents deploying services in practical applications is often more than 1 and even hundreds. For a large-scale agent end cluster, the cluster resource monitoring module needs to cover all agent ends and simultaneously collect resources of all agent ends as fast as possible so as to ensure that the counted data are on the same time point. To ensure this, a cluster resource monitor client 204a (e.g., a program) is deployed on all messaging system service clients, and the cluster resource monitor client 204a monitors the hardware resource usage information on the client in real time, including but not limited to: CPU usage, physical memory usage, disk space usage, disk I/O throughput, network card I/O throughput, and the like. The cluster resource monitoring client 204a will sample the above-mentioned agent hardware resource usage information according to the designated frequency, and report to the cluster resource monitoring server 204 b.
The cluster resource monitoring server 204b is typically a stand-alone computer. On the premise of receiving the agent-side hardware resource usage information sent by the cluster resource monitoring client 204a, the cluster resource monitoring server 204b takes time as a dimension to count the exceeding rate of each item of hardware resource usage information on all agent sides, and once the exceeding rate of the single hardware resource usage information exceeds a specified threshold, the performance of the distributed message system is judged to reach the bottleneck. A capacity expansion request is then issued to the cluster resource management module 205.
2. Cluster resource management module 205
The cluster resource management module 205 receives and records the capacity expansion request of the resource monitoring module, and calculates the resources required for capacity expansion. For example, the calculation method may be that, with a minimum one agent resource as a reference, a time interval of the cluster capacity expansion request is calculated, if the time interval is lower than a preset time interval threshold, it is determined that the cluster capacity expansion frequency is high, and the current given resource is calculated according to a preset multiple (e.g., 1.5 times or 2 times) of the previous cycle of capacity expansion given resource.
The resource capacity expansion request mode can deal with the scene of rapid increase of the service volume and reduce the capacity expansion times. Under the condition of determining the quantity of the capacity expansion resources, a specified number of virtual computer resources are virtualized by utilizing a virtualization technology. For example, the installer and deployment script are downloaded from a specified program file resource path (e.g., ftp), deployment is performed, and the service is initiated.
3. Load balancing notification module 206
After the service deployment is completed, the cluster resource management module 205 initiates a rebalancing request to the load balancing notification module 206. The load balancing notification module 206 initiates a resource change operation to a public address (such as Zookeeper) monitored by the message sending end and the message receiving end, and records the message system service information newly added to the cluster on the public address. After monitoring cluster information change events, all the agent terminals uniformly execute a new load balancing algorithm and update local cluster information cache. Therefore, the newly added service resource can be identified and connected by the message sending end and the message receiving end at the same time.
The delayed notification strategy for completing the deployment and the start of all the resources can effectively reduce the times of load balancing notification, so that the influence of the capacity expansion behavior on the cluster service is minimized. Because conventionally, every time a message service is added, a change is observed by all message sending ends and message receiving ends, and load balancing of the message sending ends and the message receiving ends is triggered. This process is repeated if more message services are added. The above-mentioned "delay notification after the completion of the deployment and the start of all resources" is to avoid such a situation, and only after all the newly added message services are deployed, the information of the public address is changed, so that the message sending end and the message receiving end can only observe a change once.
Referring to fig. 3, a schematic diagram of logic processing of each module in a distributed message system according to an embodiment of the present invention is provided.
The capacity expansion logic of the distributed message system is as follows:
(1) the cluster resource monitoring client deployed in the agent terminal monitors the hardware resources of the agent terminal and reports the monitored utilization rate of the hardware resources of the agent terminal to the cluster resource monitoring server;
(2) the cluster resource monitoring server judges whether capacity expansion is needed or not according to the received utilization rate of the agent hardware resources; sending a capacity expansion request to a cluster resource management module under the condition that the capacity expansion is needed;
(3) the cluster resource management module calculates resources required for capacity expansion according to the capacity expansion request, virtualizes the resources required for capacity expansion, and sends a resource balance request to the load balance notification module;
(4) and after receiving the resource balancing request, the load balancing resource notification module sends resource change operation to the public address monitored by the message sending end and the message receiving end together, and records the resources required by capacity expansion on the public address.
(5) And after monitoring the resource change operation, the agent end executes load balancing operation and updates local cluster information cache, and the message sending end and the message receiving end acquire new resources by monitoring a public address.
Therefore, the distributed message system provided by the embodiment of the invention can realize automatic capacity expansion through the cooperative work of the three newly added modules. Specifically, the use condition of the hardware resources of the agent end is monitored through the cluster resource monitoring module, so that the load of the distributed message system service is automatically detected, whether capacity expansion is needed or not is judged according to the use ratio of the hardware resources of the agent end, and the purpose of automatically judging the capacity expansion opportunity is achieved without manual monitoring; and in the capacity expansion stage, the resources required for capacity expansion are calculated through the cluster resource management module, and the load balancing resource notification module initiates resource updating operation. The distributed message system provided by the embodiment of the invention can automatically complete capacity expansion without manual monitoring and operation, and can effectively avoid the problems of complicated and inaccurate manual operation, low efficiency and the like.
In addition, the embodiment of the invention also provides a distributed message system capacity expansion method.
The distributed message system comprises a message sending end cluster, an agent cluster and a message receiving end cluster as introduced above, wherein the message sending end cluster comprises a plurality of message sending ends, the agent cluster comprises a plurality of agent ends, and the message receiving end cluster comprises a plurality of message receiving ends.
Referring to fig. 2, the distributed message system includes a message sender cluster 201, a proxy cluster 202, and a message receiver cluster 203, and the proxy cluster 202 is responsible for storing and delivering messages. The message sender cluster 201 includes a plurality of message senders 2011, 2012 and 2013 …, the agent cluster 202 includes a plurality of agent terminals 2021 and 2022 …, and the message receiver cluster 203 includes a plurality of message receivers 2031, 2032 and 2033 …. The message sending end (Producer ) constructs messages with different themes, the messages are sent to the agent end (Broker) with message system service deployed in the local area network for temporary storage, and the message receiving end (consumer, Customer) obtains corresponding messages from the message system cluster according to the theme subscribed by the message receiving end for subsequent processing.
The distributed message system further includes a cluster resource monitoring client 204a, a cluster resource monitoring server 204b, a cluster resource management module 205, and a load balancing notification module 206. The cluster resource monitoring client 204a is deployed on each agent, and the cluster resource monitoring client 204a and the cluster resource monitoring server 204b together form a cluster resource monitoring module.
Preferably, the three newly added modules are mutually independent modules and have independent functions. The cluster resource monitoring module is composed of a cluster resource monitoring client 204a and a cluster resource monitoring server 204b, wherein the cluster resource monitoring client 204a is deployed on an agent end providing message service, and the cluster resource monitoring server 204b is deployed on an independent machine. The cluster resource management module 205 is deployed on a stand-alone machine. The load balancing notification module 206 is deployed on a separate machine.
Referring to fig. 4, a flowchart of a distributed message system capacity expansion method according to an embodiment of the present invention is shown, where the method includes the following steps S401 to S403.
S401: and monitoring the hardware resource use information of the agent end in real time, and counting the resource use overproof rate of the agent end.
Specifically, the hardware resource usage information of the agent includes but is not limited to: CPU utilization rate, physical memory utilization rate, disk space utilization rate, disk I/O throughput and network card I/O throughput.
The statistical method of the resource usage superscale rate of the agent end may be as follows: and counting the exceeding rate of the use information of each hardware resource on the agent end by taking time as a dimension, and determining that the exceeding rate of the use information of the hardware resource reaches a threshold value when the exceeding rate of any hardware resource exceeds a preset threshold value.
S402: and when the resource use overproof rate of the agent end reaches a threshold value, calculating the resources required by capacity expansion.
Specifically, the following method may be adopted to calculate the resources required for capacity expansion: calculating the time interval of the agent end cluster capacity expansion request by taking one agent end resource as a reference, and if the time interval is lower than a preset standard value, judging that the cluster capacity expansion frequency is high, and determining that the resource required for capacity expansion is a preset multiple of a preset capacity expansion given resource. After the resources required for capacity expansion are calculated, the resources required for capacity expansion can be virtualized through a virtualization technology. For example, the installer and deployment script are downloaded from a specified program file resource path (e.g., ftp), deployment is performed, and the service is initiated.
S403: and initiating resource change operation to the public addresses monitored by the message sending end and the message receiving end, and recording the resources required by capacity expansion on the public addresses.
And after monitoring the resource change operation, the agent end executes load balancing operation and updates local cluster information cache, and the message sending end and the message receiving end acquire new resources by monitoring a public address.
In the message distributed message system, both the message sending end and the message receiving end can monitor the data on the public address at any time, and if the data on the public address changes, the message sending end and the message receiving end can know the data at the first time. For example, if a new agent is added, and the information on the public address is changed accordingly, the message sending end and the message receiving end can discover the message service on the new agent in the first time.
The expansion method of the distributed message system provided by the embodiment of the invention can realize automatic expansion without manual monitoring and operation, and can effectively avoid the problems of fussy and inaccurate manual operation, low efficiency and the like.
It should be noted that, for simplicity of description, the method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the illustrated order of acts, as some steps may occur in other orders or concurrently in accordance with the embodiments of the present invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no particular act is required to implement the invention.
The embodiments in the present specification are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, apparatus, or computer program product. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
Embodiments of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing terminal to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing terminal to cause a series of operational steps to be performed on the computer or other programmable terminal to produce a computer implemented process such that the instructions which execute on the computer or other programmable terminal provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications of these embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the invention.
Finally, it should also be noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or terminal. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or terminal that comprises the element.
The above detailed description is given to the distributed message system and the capacity expansion method provided by the present invention, and a specific example is applied in this document to explain the principle and the implementation of the present invention, and the description of the above embodiment is only used to help understand the method and the core idea of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (9)

1. A distributed message system comprises a message sending end cluster, an agent cluster, a message receiving end cluster and a NameServer cluster, wherein the message sending end cluster comprises a plurality of message sending ends, the agent cluster comprises a plurality of agent ends, and the message receiving end cluster comprises a plurality of message receiving ends, and is characterized in that the system further comprises:
the cluster resource monitoring module is used for monitoring the hardware resource use information of each agent end in real time, counting the use exceeding rate of each hardware resource of each agent end by taking time as a dimension, and sending out a capacity expansion request when the use exceeding rate of a single hardware resource of any agent end in the plurality of agent ends reaches a threshold value;
the cluster resource management module is used for receiving the capacity expansion request sent by the cluster resource monitoring module, calculating resources required for capacity expansion according to the capacity expansion request, and sending a resource balance request after all the resources are deployed and started; wherein, the calculating the resources required for capacity expansion according to the capacity expansion request includes: calculating the time interval of the agent cluster capacity expansion request by taking an agent side resource as a reference, and if the time interval is lower than a preset standard value, judging that the cluster capacity expansion frequency is high, and determining the resource required for capacity expansion as a preset multiple of a preset capacity expansion given resource;
and the load balancing notification module is used for receiving the resource balancing request sent by the cluster resource management module, initiating resource change operation to the public address in the Name Server cluster monitored by the message sending end and the message receiving end, and recording the resources required by the expansion on the public address in the Name Server cluster.
2. The system of claim 1, wherein the cluster resource monitoring module comprises a cluster resource monitoring client and a cluster resource monitoring server, wherein,
the cluster resource monitoring client is deployed at the agent terminal and used for monitoring the hardware resource use information of the agent terminal in real time and reporting the monitored hardware resource use information to the cluster resource monitoring server terminal;
the cluster resource monitoring server is used for counting the resource use exceeding rate of the agent end according to the hardware resource use information and sending out a capacity expansion request when the resource use exceeding rate of the agent end reaches a threshold value.
3. The system of claim 2, wherein the hardware resource usage information of the agent monitored by the cluster resource monitoring client comprises: CPU utilization, physical memory utilization, disk space utilization, disk I/O throughput, and/or network card I/O throughput; the cluster resource monitoring server side takes time as a dimension, counts the exceeding rate of the use information of each hardware resource on the agent side, and sends out a capacity expansion request when the exceeding rate of any hardware resource use information exceeds a preset threshold value.
4. The system of claim 1, 2, or 3, wherein the cluster resource management module virtualizes the resources required for the capacity expansion using virtualization technology.
5. The system according to claim 1, 2 or 3, wherein the agent side executes a load balancing operation and updates a local cluster information cache after monitoring the resource change operation.
6. A capacity expansion method of a distributed message system, the distributed message system includes a message sending end cluster, an agent cluster, a message receiving end cluster and a Name Server cluster, wherein, the message sending end cluster includes a plurality of message sending ends, the agent cluster includes a plurality of agent ends, the message receiving end cluster includes a plurality of message receiving ends, the method is characterized in that:
monitoring the hardware resource use information of each agent end in real time, and counting the use overproof rate of each hardware resource of each agent end by taking time as a dimension;
when the use exceeding rate of a single hardware resource of any agent end of the plurality of agent ends reaches a threshold value, calculating the resource required for capacity expansion, and sending a resource balancing request after all the resources are deployed and started; wherein, the calculating the resources required for capacity expansion includes: calculating the time interval of the agent cluster capacity expansion request by taking an agent side resource as a reference, and if the time interval is lower than a preset standard value, judging that the cluster capacity expansion frequency is high, and determining the resource required for capacity expansion as a preset multiple of a preset capacity expansion given resource;
and initiating resource change operation to the public address in the Name Server cluster monitored by a message sending end and a message receiving end, and recording the resources required by the expansion on the public address in the Name Server cluster.
7. The method of claim 6,
the hardware resource use information of the agent end comprises: CPU utilization, physical memory utilization, disk space utilization, disk I/O throughput, and/or network card I/O throughput;
the method further comprises the following steps: determining whether the resource usage overproof rate of the agent side reaches a threshold value, including:
and counting the exceeding rate of the use information of each hardware resource on the agent end by taking time as a dimension, and determining that the exceeding rate of the use of the resources of the agent end reaches a threshold value when the exceeding rate of any use information exceeds a preset threshold value.
8. The method of claim 6 or 7, further comprising: and virtualizing the resources required by the capacity expansion through a virtualization technology.
9. The method of claim 6 or 7, further comprising: and after monitoring the resource change operation, the agent terminal executes load balancing operation and updates the local cluster information cache.
CN201611024161.XA 2016-11-17 2016-11-17 Distributed message system and capacity expansion method Active CN106603631B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611024161.XA CN106603631B (en) 2016-11-17 2016-11-17 Distributed message system and capacity expansion method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611024161.XA CN106603631B (en) 2016-11-17 2016-11-17 Distributed message system and capacity expansion method

Publications (2)

Publication Number Publication Date
CN106603631A CN106603631A (en) 2017-04-26
CN106603631B true CN106603631B (en) 2020-07-03

Family

ID=58592352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611024161.XA Active CN106603631B (en) 2016-11-17 2016-11-17 Distributed message system and capacity expansion method

Country Status (1)

Country Link
CN (1) CN106603631B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109040263B (en) * 2018-08-10 2022-02-25 北京奇虎科技有限公司 Service processing method and device based on distributed system
CN110968414A (en) * 2018-09-28 2020-04-07 阿里巴巴集团控股有限公司 Resource scaling method and device
CN113037794B (en) * 2019-12-25 2023-04-18 马上消费金融股份有限公司 Method, device and system for computing resource allocation scheduling

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970907A (en) * 2014-05-28 2014-08-06 浪潮电子信息产业股份有限公司 Method for dynamically expanding database cluster
CN104579761A (en) * 2014-12-24 2015-04-29 西安工程大学 Automatic nosql cluster configuration system and method based on cloud computing

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428008B (en) * 2013-08-28 2016-08-10 浙江大学 The big data distributing method of facing multiple users group
CN105159775A (en) * 2015-08-05 2015-12-16 浪潮(北京)电子信息产业有限公司 Load balancer based management system and management method for cloud computing data center

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970907A (en) * 2014-05-28 2014-08-06 浪潮电子信息产业股份有限公司 Method for dynamically expanding database cluster
CN104579761A (en) * 2014-12-24 2015-04-29 西安工程大学 Automatic nosql cluster configuration system and method based on cloud computing

Also Published As

Publication number Publication date
CN106603631A (en) 2017-04-26

Similar Documents

Publication Publication Date Title
EP3637733B1 (en) Load balancing engine, client, distributed computing system, and load balancing method
CN107872402B (en) Global flow scheduling method and device and electronic equipment
CN110209492B (en) Data processing method and device
US9712404B2 (en) Performance evaluation method and information processing device
US10037237B2 (en) Method and arrangement for fault management in infrastructure as a service clouds
US20210216303A1 (en) Deployment routing of clients by analytics
CN108737132B (en) Alarm information processing method and device
US20180027061A1 (en) Method and apparatus for elastically scaling virtual machine cluster
CN106603631B (en) Distributed message system and capacity expansion method
CN111064781A (en) Multi-container cluster monitoring data acquisition method and device and electronic equipment
CN109921925B (en) Dial testing method and device
CN109560976B (en) Message delay monitoring method and device
CN109597800B (en) Log distribution method and device
CN111447272A (en) Load balancing method and device
CN112732428A (en) Data acquisition method and device, electronic equipment and storage medium
US10498617B1 (en) System, method, and computer program for highly available and scalable application monitoring
CN112422361A (en) Switch testing method, device and medium
CN106790610B (en) Cloud system message distribution method, device and system
CN113254245A (en) Fault detection method and system for storage cluster
CN109522118B (en) Service processing method, device, server and readable storage medium
CN112988417A (en) Message processing method and device, electronic equipment and computer readable medium
CN113190347A (en) Edge cloud system and task management method
CN109510855B (en) Event distribution system, method and device
US11050768B1 (en) Detecting compute resource anomalies in a group of computing resources
CN116055496B (en) Monitoring data acquisition method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant