Message sending method, message notification system, device, medium and product

By configuring traffic control components and message middleware in the message sending system, fine-grained stream limiting and message delayed sending of downstream services are achieved, which solves the problem of downstream services crashing due to excessive message processing pressure, and improves the arrival rate and resource utilization rate of message sending.

CN120166016APending Publication Date: 2025-06-17BEIJING QIYI CENTURY SCI & TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510212316.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-25
Publication Date
2025-06-17

AI Technical Summary

Technical Problem

The downstream service crashes because the number of messages sent by the message sending system exceeds its own message processing capability, affecting the arrival rate of message sending.

Method used

The flow control component and message middleware are configured in the message sending system. By reading the pre-configured current limiting conditions, they detect whether the current limiting operation is performed, and when determining that the current limiting operation is performed, the message middleware will send after the delay setting time through the message middleware.

Benefits of technology

It effectively avoids downstream services crashing due to excessive processing pressure, ensures the normal reception ability of messages, and improves the arrival rate of message sending and resource utilization rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120166016A_ABST
    Figure CN120166016A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a message sending method, a message notification system, equipment, a medium and a product, and aims to improve the arrival rate of message sending. The method comprises the following steps: before sending a target message to a target downstream service in a downstream system, reading a pre-configured flow limiting condition corresponding to the target downstream service in the flow control component; according to a current limiting condition corresponding to the target downstream service and a current message sending condition of the message sending system to the target downstream service, detecting whether to execute a current limiting operation for the target downstream service; and sending the target message to the target downstream service through the message middleware after a set time length is delayed under the condition that the flow limiting operation for the target downstream service is determined to be executed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technologies, and in particular, to a message sending method, a message notification system, a device, a medium, and a product. Background Art

[0002] Message sending systems usually have high message processing capabilities to support large-scale message sending. For example, a message sending system can achieve a message processing capacity of 4000 queries per second based on asynchronous concurrent technology, thereby supporting message processing and sending at the million or even ten-million level.

[0003] However, due to the differences in message processing capabilities between the message sending system and each downstream service in its downstream system, the downstream service often crashes because the number of messages sent by the message sending system exceeds its own message processing capacity, thus affecting the arrival rate of message sending. Summary of the Invention

[0004] In view of the above problems, embodiments of this application provide a message sending method, a message notification system, a device, a medium, and a product to overcome or at least partially solve the above problems.

[0005] In a first aspect of the embodiments of this application, a message sending method is provided, which is applied to a traffic control and message scheduling center configured in a message sending system. The message sending system is further configured with: a message middleware with a delayed message function, and a traffic control component that supports traffic control policy configuration. The method includes:

[0006] Before sending a target message to a target downstream service in a downstream system, read the current limiting condition corresponding to the target downstream service pre-configured in the traffic control component;

[0007] According to the current limiting condition corresponding to the target downstream service and the current message sending situation of the message sending system to the target downstream service, detect whether to perform a limiting operation on the target downstream service;

[0008] In the case of determining to perform a limiting operation on the target downstream service, send the target message to the target downstream service through the message middleware after a set delay duration.

[0009] In a second aspect of the embodiments of this application, a message notification system is provided. The system includes a population acquisition service, a message sending system, and a downstream system. The message sending system is configured with: a traffic control and message scheduling center, a message middleware with a delayed message function, and a traffic control component that supports traffic control policy configuration, where:

[0010] The population acquisition service is used to detect the target population of the message to be notified, and in the case of detecting the target population, send the relevant information of the target population to the message sending system;

[0011] The traffic control and message scheduling center is used to determine the target downstream service from the downstream services of the downstream system according to the relevant information of the target population, and generate the target message to be notified;

[0012] The traffic control and message scheduling center is further used to read the flow limiting condition corresponding to the target downstream service pre-configured in the traffic control component before sending the target message to the target downstream service in the downstream system;

[0013] The traffic control and message scheduling center is further used to detect whether to perform the flow limiting operation for the target downstream service according to the flow limiting condition corresponding to the target downstream service and the current message sending situation of the message sending system for the target downstream service;

[0014] The traffic control and message scheduling center is further used to, in the case of determining to perform the flow limiting operation for the target downstream service, send the target message to the target downstream service through the message middleware after a set delay duration, so as to notify the target population of the target message.

[0015] In the third aspect of the embodiments of the present application, an electronic device is provided, including a processor, a communication interface, a memory, and a communication bus. Among them, the processor, the communication interface, and the memory complete communication with each other through the communication bus; the memory is used to store a computer program; the processor is used to, when executing the program stored on the memory, implement the message sending method as described in the first aspect disclosed in the embodiments of the present application.

[0016] In the fourth aspect of the embodiments of the present application, a computer-readable storage medium is provided, on which a computer program / instruction is stored, and when the computer program / instruction is executed by a processor, the message sending method as described in the first aspect disclosed in the embodiments of the present application is implemented.

[0017] In the fifth aspect of the embodiments of the present application, a computer program product is provided, including a computer program / instruction, and when the computer program / instruction is executed by a processor, the message sending method as described in the first aspect disclosed in the embodiments of the present application is implemented.

[0018] The embodiments of the present application have the following advantages: By configuring the traffic control component, the throttling condition configuration for downstream services is realized on the side of the message sending system, so that the traffic control and the message scheduling center can perform refined throttling operation detection for downstream services, which can effectively avoid the situation that the downstream services crash due to the number of messages sent by the message sending system exceeding their own message processing capabilities, and ensure the normal message receiving ability of the downstream services; By further configuring the message middleware, when the traffic control and the message scheduling center determine to perform the throttling operation, they can delay the sending of messages to achieve throttling, thereby avoiding situations such as message loss or a large number of message resends occupying system resources caused by the throttling of the message sending system, and thus improving the message arrival rate and resource utilization rate of the message sending. Description of the Drawings

[0019] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments of the present application will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0020] Figure 1 It is a flowchart of the steps of a message sending method in the embodiments of the present application;

[0021] Figure 2 It is a flowchart of the steps of another message sending method in the embodiments of the present application;

[0022] Figure 3 It is a schematic structural diagram of a message notification system in the embodiments of the present application;

[0023] Figure 4 It is a schematic diagram of the implementation process of a message sending method in the embodiments of the present application;

[0024] Figure 5 It is a schematic structural diagram of a message sending device in the embodiments of the present application;

[0025] Figure 6 It is a schematic diagram of an electronic device in the embodiments of the present application. Detailed Embodiments

[0026] To make the above objects, features, and advantages of the present application more obvious and understandable, the present application will be further described in detail below with reference to the drawings and specific embodiments.

[0027] Message sending systems usually have high message processing capabilities to support large-scale message sending. Taking the precision marketing system as an example of a message sending system, the precision marketing system is mainly used to locate (i.e., select) user groups with different characteristics and send customized messages through multiple channels to them via downstream systems.

[0028] In an actual online environment, the user groups selected by the precision marketing system may be extremely large, such as reaching a scale of millions or even tens of millions. To quickly send message notifications to such a large-scale user group, the precision marketing system usually processes and sends messages in an asynchronous concurrent manner, which makes the processing speed of the system itself very fast, capable of reaching a message processing capacity of 4000 queries per second, so that the precision marketing system can achieve the sending of 4000 messages per second.

[0029] However, considering the uneven performance of each downstream service in the downstream system, very few downstream services can normally process messages at such a high message sending speed. When the number of messages sent by the message sending system to the downstream service far exceeds its processing capacity, that is, when the message processing volume of the downstream service is severely overloaded, the downstream service will crash due to excessive processing pressure, which will lead to a decrease in the message sending arrival rate and may also cause alarms or errors in other systems that depend on these downstream services, thereby having an adverse impact on more users and systems.

[0030] Based on the above analysis, in view of the problems such as the decrease in the message sending arrival rate caused by the crash of the downstream service due to excessive processing pressure in the related art, the embodiments of the present application provide a message sending method, a message notification system, a device, a medium, and a product. By configuring a traffic control component and a message middleware for the message sending system, refined flow limiting operation execution detection and message delayed sending can be achieved for the downstream service, which can avoid the situation where the downstream service crashes due to excessive processing pressure, thereby solving problems such as the decrease in the message sending arrival rate caused by the crash of the downstream service.

[0031] First, to facilitate understanding of the technical solutions provided by the present application, the main technical concepts involved in the embodiments of the present application are briefly described below.

[0032] Message sending system: It is mainly configured with a message scheduling center, and the message scheduling center integrates one or more message senders, which are used to generate messages and send messages to relevant downstream services in the downstream system by calling downstream interfaces.

[0033] Downstream system: Integrated with one or more downstream services, these downstream services can be deployed on different servers and associated with different channels (such as Alipay, WeChat, in-site messages, off-site push messages, etc.). For example, the message sending system and the downstream services can be the message sending end and the message receiving end of these channels respectively. After processing the received messages, the downstream system will notify the users or forward them to other relevant systems.

[0034] Rocket Message Queue (RocketMQ, also known as Rocket MQ): A message middleware with the function of delayed messages, which provides a delayed queue and a consumption queue; After the messages with set delay levels are put into the delayed queue, they will be polled by the timer of RocketMQ to check whether the messages in the queue have expired. The expired messages in the delayed queue will be taken out and put into the consumption queue; The messages in the consumption queue will be taken out in the order in which the messages enter the queue and then consumed (that is, the relevant processing operations of the messages are triggered).

[0035] Sentinel: A traffic control component that supports the configuration of traffic control policies. In Sentinel, relevant flow limiting conditions can be created for traffic control objects. Subsequently, it can be determined whether to perform a flow limiting operation on the traffic control object according to whether the traffic control object meets the flow limiting conditions in Sentinel, so as to limit the input data traffic (i.e., incoming traffic) or output data traffic (i.e., outgoing traffic) of the traffic control object, to prevent the traffic control object from crashing due to overload.

[0036] Refer to Figure 1 As shown, the step flow chart of a message sending method in an embodiment of the present application is shown. The message sending method is applied to the traffic control and message scheduling center configured by the message sending system. The message sending system is further configured with: a message middleware with the function of delayed messages, and a traffic control component that supports the configuration of traffic control policies. The method includes the following steps:

[0037] Step S11: Before sending a target message to a target downstream service in the downstream system, read the flow limiting conditions corresponding to the target downstream service pre-configured in the traffic control component.

[0038] In specific implementation, the user configures a traffic control component such as Sentinel that supports the configuration of traffic control policies for the message sending system, and can, according to experience or according to the pressure test results of the downstream system, pre-configure (i.e., pre-create) the flow limiting conditions corresponding to one or more downstream services including the target downstream service in the downstream system in the traffic control component, thereby realizing the configuration of single-machine flow limiting rules at the downstream service level on the message sending system side.

[0039] The traffic control and message scheduling center (which can be a message scheduling center with the added ability to interact with the traffic control component and message middleware for data) can subsequently perform refined detection of the flow limiting operation for relevant downstream services according to these single-machine flow limiting rules (i.e., flow limiting conditions) configured in advance, and then flexibly adjust the message sending speed (or message processing speed, etc.) of the message sending system, so as to accurately match the processing performance of different downstream services.

[0040] Step S12: According to the flow limiting condition corresponding to the target downstream service and the current message sending situation of the message sending system for the target downstream service, detect whether to perform the flow limiting operation for the target downstream service.

[0041] In specific implementation, the traffic control and message scheduling center can obtain the number of messages sent to the target downstream service in the recent period of time, or obtain information such as the current message sending rate to the target downstream service, so as to obtain the current message sending situation of the target downstream service.

[0042] Then, by determining whether the current message sending situation meets the flow limiting condition, the current message processing pressure of the target downstream service is measured, and based on this, it is detected whether to perform the flow limiting operation, so that the flow limiting operation can be timely performed when the target downstream service is under greater processing pressure.

[0043] Taking the flow limiting condition including the upper limit of the number of messages sent or the upper limit of the message sending rate as an example, if the currently obtained message sending rate or the number of messages sent exceeds the corresponding upper limit, it indicates that there is a situation where the number of messages processed by the target downstream service is overloaded due to the excessive messages sent by the message sending system. The traffic control and message scheduling center accordingly determines to perform the flow limiting operation for the target downstream service, and then performs the following step S13 to reduce the processing pressure of the target downstream service by limiting itself and prevent the target downstream service from crashing.

[0044] If the currently obtained message sending rate or the number of messages sent does not exceed the corresponding upper limit, it indicates that there is no situation where the number of messages processed by the target downstream service is overloaded. The traffic control and message scheduling center accordingly determines not to perform the flow limiting operation for the target downstream service, and then directly sends the target message to the target downstream service for processing.

[0045] Step S13: In the case of determining to perform the flow limiting operation for the target downstream service, send the target message to the target downstream service through the message middleware after a set delay duration.

[0046] In specific implementation, the user configures a message middleware with a delay message function such as RocketMQ for the message sending system, and can determine and configure the set duration in advance according to experience, or according to the processing capacity of the target downstream service or the timeliness requirement of the target message, etc.

[0047] According to the set duration, the traffic control and message scheduling center uses the delay message function of the message middleware to send the target message after a delay for a period of time, so as to disperse the peak traffic into a longer time window, enabling the target downstream service to have more time to process the messages it has received, thereby reducing the processing pressure on the target downstream service in a short period of time.

[0048] It should be noted that compared with the traditional implementation methods of flow limiting operations such as discarding relevant data or directly returning an error without processing relevant data, in this application, a message middleware is introduced to implement the flow limiting operation in the way of delaying message sending. Thus, the utilization of system resources related to message sending can be improved by using the storage and processing resources of the message middleware, thereby avoiding the possible message loss caused by the message sending system directly discarding or not processing (such as not sending) the messages to be sent during the execution of the flow limiting operation, or the serious occupation of system resources caused by continuously attempting to resend messages after receiving the error return information, so as to achieve the reasonable utilization of resources and the reliable sending of messages.

[0049] Therefore, with the help of the message middleware and the traffic control component, on the premise of realizing the reliable sending of messages on the message sending system side, the probability of the message successfully arriving (that is, being normally received and processed by the downstream service) can be greatly improved, and the reasonable use of system resources related to the message sending system can be achieved.

[0050] By adopting the technical solution of the embodiment of this application, by configuring the traffic control component, the flow limiting condition configuration for the downstream service can be realized on the message sending system side. Thus, the traffic control and message scheduling center can perform a refined flow limiting operation detection for the downstream service, effectively avoiding the situation that the downstream service crashes due to the number of messages sent by the message sending system exceeding its own message processing capacity, and ensuring the normal message receiving ability of the downstream service; then by configuring the message middleware, when the traffic control and message scheduling center determines to execute the flow limiting operation, it can delay the message sending to achieve flow limiting, thereby avoiding message loss or a large number of message resends occupying system resources caused by the flow limiting of the message sending system, thus improving the arrival rate of message sending and the utilization rate of resources.

[0051] Optionally, in the step S13, before the target message is sent to the target downstream service through the message middleware after a set delay duration, the method further includes:

[0052] Step S14: Randomly select a duration within a preset duration range as the set duration corresponding to the target message.

[0053] For example, within 15 to 30 minutes (i.e., the preset duration range), a duration can be randomly selected. For example, if 16 minutes is randomly selected, the set duration corresponding to the target message is set to 16 minutes, and then the target message is sent to the target downstream service through the message middleware after a delay of 16 minutes.

[0054] It should be noted that in actual application, based on the preset duration range, different durations can be randomly selected for different target messages so that the set durations corresponding to different target messages are different; or a duration is randomly selected each time before the message is sent with a delay so that the set durations used for multiple delayed message transmissions are different. The embodiments of the present application do not specifically limit the timing of using the random selection of duration method to set the set duration.

[0055] In this embodiment, by adopting the random selection of duration method to set the set duration, the situation where a large number of messages are delayed to be sent at the same moment due to a fixed set duration can be avoided, thereby ensuring the effectiveness of the flow limiting operation and improving the arrival rate of message sending.

[0056] Refer to Figure 2 As shown, a step flow chart of another message sending method in the embodiments of the present application is shown. This method includes the following steps:

[0057] Step S21: Before sending a target message to a target downstream service in a downstream system, read the flow limiting condition corresponding to the target downstream service preconfigured in the flow control component.

[0058] In specific implementation, the user can, according to experience or according to the pressure test results of the downstream system, preconfigure the flow limiting conditions corresponding to one or more downstream services including the target downstream service in the downstream system in the flow control component.

[0059] Step S22: According to the flow limiting condition corresponding to the target downstream service and the current message sending situation of the message sending system for the target downstream service, detect whether to perform a flow limiting operation on the target downstream service.

[0060] In specific implementation, the current message sending situation may include the current message sending rate of the message sending system to the target downstream service, the number of messages sent in a recent period of time, etc. The traffic control and message scheduling center measures the current message processing pressure of the target downstream service by determining whether the current message sending situation meets the current limiting condition, and accordingly detects whether to perform a current limiting operation on the target downstream service, so as to perform the current limiting operation in a timely manner when the target downstream service is under great processing pressure.

[0061] Step S23: In the case of determining to perform a current limiting operation on the target downstream service, cache the target message through the message middleware, and after delaying the set duration, according to the current limiting condition corresponding to the target downstream service and the current message sending situation of the message sending system to the target downstream service, detect again whether to perform a current limiting operation on the target downstream service.

[0062] In specific implementation, after delaying the set duration, the message middleware triggers the traffic control and message scheduling center to re-obtain the current message sending situation of the target downstream service, and detect again whether to perform a current limiting operation on the target downstream service. Or, the message middleware uses its own relevant resources to obtain the current message sending situation and perform the detection of the execution of the current limiting operation.

[0063] Step S24: In the case of determining not to perform a current limiting operation on the target downstream service, send the target message cached by the message middleware to the target downstream service.

[0064] In specific implementation, in the case of determining not to perform a current limiting operation on the target downstream service, the traffic control and message scheduling center sends the target message to the target downstream service by calling relevant downstream interfaces. In the case of determining again to perform a current limiting operation on the target downstream service, the traffic control and message scheduling center can continue to delay the sending time of the target message through the message middleware, or directly discard the target message (such as directly discarding the target message with a lower priority) to avoid problems such as insufficient storage and processing resources caused by too many messages that need to be delayed for sending in the message middleware.

[0065] In this embodiment, the message sending system utilizes the delayed message function of the message middleware. After delaying the set duration, it detects again whether to perform the rate limiting operation on the target downstream service, that is, measures the current message processing pressure of the target downstream service again to confirm whether the target message can be sent currently. By introducing a secondary detection link for the execution of the rate limiting operation, it can effectively reduce the situation that the target downstream service crashes and cannot respond due to sending the target message when the pressure of the target downstream service has not been effectively relieved due to too short a delay time, thereby further improving the arrival rate of message sending and ensuring the stability and response ability of the system.

[0066] In some embodiments, the method further includes:

[0067] Step S25: In the case of determining again to perform the rate limiting operation on the target downstream service, repeat the step of detecting whether to perform the rate limiting operation on the target downstream service after delaying the set duration until the target message cached by the message middleware is sent to the target downstream service.

[0068] Among them, the detection result of determining to perform or not to perform the rate limiting operation is obtained by the message middleware or the message sending system.

[0069] In specific implementation, each time it is determined to perform the rate limiting operation on the target downstream service, it will detect again whether to perform the rate limiting operation on the target downstream service after delaying for a period of time. The time of each delay (that is, the set duration used for each delay) can be the same or different. Until the target message cached by the message middleware is sent to the target downstream service, that is, until it is determined not to perform the rate limiting operation on the target downstream service, the repeated detection of whether to perform the rate limiting operation stops.

[0070] In this embodiment, by repeating the step of detecting whether to perform the rate limiting operation on the target downstream service after delaying the set duration, the automatic retry mechanism is applied to the delayed sending of messages, thereby implementing an adaptive backpressure mechanism, that is, on the premise of ensuring that the downstream service is not overloaded, each message delayed due to the execution of the rate limiting operation can ultimately reach the relevant downstream service successfully. In this way, the relationship between high traffic impact and the processing capacity of the downstream system can be effectively balanced, and the optimization of the entire message sending process can be achieved.

[0071] In some embodiments, the message middleware includes Rocket Message Queue RocketMQ, and the RocketMQ includes a delayed queue and a consumption queue;

[0072] In step S23, the target message is cached by the message middleware, and after delaying for the set duration, according to the flow-limiting condition corresponding to the target downstream service and the current message sending situation of the message sending system for the target downstream service, it is detected again whether to perform the flow-limiting operation for the target downstream service, including:

[0073] Step S231: Set the delay level of the target message according to the set duration, and put the target message with the set delay level into the delay queue in RocketMQ. The delay queue is used to delay the time when the message enters the consumption queue in RocketMQ according to the delay level.

[0074] In specific implementation, RocketMQ provides delay levels corresponding to different delay times. For example, a message with a delay level of 1 means that the message can enter the consumption queue after 1 second, and a message with a delay level of 2 means that the message can enter the consumption queue after 5 seconds, etc. Users can also customize the delay levels corresponding to other delay times in RocketMQ according to their own needs.

[0075] According to the correspondence between the delay level and the delay time in RocketMQ, the delay level corresponding to the set duration can be found, then the delay level is set for the target message, and the target message is put into the delay queue. The target message will be determined to be due after the set duration, and then the target message will enter the consumption queue from the delay queue.

[0076] Step S232: When the current message to be sent in the consumption queue is the target message, according to the flow-limiting condition corresponding to the target downstream service and the current message sending situation of the message sending system for the target downstream service, it is detected again whether to perform the flow-limiting operation for the target downstream service.

[0077] In specific implementation, the messages in the consumption queue will be taken out in the order in which they enter the queue for sequential sending by the traffic control and message scheduling center. When it is the turn of the target message to be taken out, that is, when the current message to be sent in the consumption queue is the target message, the re-determination of the execution of the flow-limiting operation will be triggered first. If it is determined not to perform the flow-limiting operation, the traffic control and message scheduling center will be triggered to send the target message; if it is re-determined to perform the flow-limiting operation, the target message can be discarded, or the target message can be set with the delay level again and then put into the delay queue, so as to complete the execution of the flow-limiting operation. Thus, the embodiment of the present application realizes a method for executing the flow-limiting operation based on RocketMQ.

[0078] In some embodiments, before reading the rate limiting conditions corresponding to the target downstream service pre-configured in the traffic control component in step S11, the method further includes:

[0079] Step S15: Receive first information reported by the downstream system, where the first information includes at least one of performance-related information of the downstream system and the rate limiting strategy adopted by the downstream system.

[0080] In specific implementation, the downstream system can perform a stress test to obtain its own performance-related information. For example, it can obtain performance-related information such as the maximum message processing rate of the entire downstream system or one or more downstream services in the downstream system, the upper limit of the number of messages that can be received within a set time period, or the upper limit of the acceptable message sending rate, and report the performance-related information to the message sending system.

[0081] And / or, when the downstream system adopts a rate limiting strategy, for example, when the downstream system sets relevant strategies for restricting incoming traffic such as setting an upper limit on the number of messages, it reports the strategy to the message sending system.

[0082] Step S16: According to the first information, configure the rate limiting conditions corresponding to each downstream service in the downstream system in the traffic control component, where each downstream service at least includes the target downstream service.

[0083] In this embodiment, for its own stability, the downstream system may adopt some strategies for restricting incoming traffic (i.e., rate limiting strategies). For example, it sets an upper limit on the Queries-Per-Second (QPS) for one or more downstream services. When the message sending rate of the message sending system exceeds the QPS upper limit set for the relevant downstream service, the downstream system will take rate limiting measures, such as controlling the downstream service to reject or discard the messages sent by the message sending system, to prevent the downstream service from crashing due to overload.

[0084] In the above case, the downstream system can report the rate limiting strategy it adopts to the message sending system. Based on this, the traffic control and message scheduling center can configure rate limiting conditions that match the rate limiting strategy. For example, make the outgoing traffic restricted by the rate limiting conditions consistent with the incoming traffic restricted by the rate limiting strategy, or make the outgoing traffic restricted by the rate limiting conditions slightly less than the incoming traffic restricted by the rate limiting strategy, etc., to avoid the situation where the message sending system triggers the downstream system to take rate limiting measures and causes messages not to reach.

[0085] For example, in the case where the flow limiting policy reported by the downstream system includes the upper limit of QPS of a certain downstream service, the flow control and message scheduling center may configure the flow limiting condition corresponding to the downstream service as: the QPS upper limit that is the same as the reported QPS upper limit, or a QPS upper limit that is less than the reported QPS upper limit.

[0086] When the first information reported by the downstream service includes performance-related information, the flow control and message scheduling center may configure the flow limiting condition according to the performance-related information to ensure that the downstream system and related services can operate stably within their performance ranges, thereby avoiding service interruptions caused by overload, and further avoiding the situation where the messages sent by the message sending system cannot reach the downstream service (or cannot reach the users or other systems connected to the downstream service).

[0087] For example, for a downstream system or downstream service with poor performance, the flow control and message scheduling center will configure a flow limiting condition that matches a smaller message processing rate in the flow control component for the relevant downstream service, such as configuring a lower upper limit of the message sending rate, to reduce the number of messages allowed to be sent by the message sending system to the relevant downstream service in a short period of time, thereby avoiding the situation where the relevant downstream service needs to receive and process too many messages; for a downstream system or downstream service with better performance, the flow control and message scheduling center will configure a flow limiting condition that matches a larger message processing rate in the flow control component for the relevant downstream service, such as configuring a higher upper limit of the message sending rate, to increase the number of messages allowed to be sent by the message sending system to the relevant downstream service in a short period of time, thereby avoiding the situation where the relevant downstream service needs to receive and process too few messages.

[0088] Taking the example where the flow control component includes Sentinel and the first information includes the overall performance information of the downstream system, step S16 may include:

[0089] Step S161: Determine the target index upper limit corresponding to the downstream system according to the overall performance information of the downstream system, where the target index upper limit corresponding to the downstream system is used to represent the upper limit of the outgoing traffic of the message sending system for the downstream system.

[0090] Among them, the target index upper limit (such as the target index upper limit corresponding to the downstream system and the target index upper limit corresponding to the downstream service) may be related index upper limits such as the QPS upper limit and the upper limit of the message sending rate that can limit the outgoing traffic of the message sending system.

[0091] In specific implementation, the overall performance information may be performance indicators such as QPS and throughput of the entire downstream system. The user can pre-configure a mapping table between the overall performance information and the upper limit of the target indicator. After receiving the overall performance information reported by the downstream system, the sending system can find the upper limit of the target indicator corresponding to the overall performance information by querying the mapping table, and then use it as the upper limit of the target indicator corresponding to the downstream system to limit the data flow from the message sending system to the downstream system (i.e., the outgoing traffic of the message sending system for the downstream system).

[0092] Step S162: According to the number of downstream services in the downstream system, evenly distribute the upper limit of the target indicator corresponding to the downstream system to obtain the upper limit of QPS corresponding to each downstream service in the downstream system. The upper limit of the target indicator corresponding to the downstream service is used to represent the upper limit of the outgoing traffic of the message sending system for the downstream service.

[0093] Taking the downstream system including 10 downstream services and the upper limit of QPS corresponding to the downstream system (i.e., the upper limit of the target indicator) being 5000 as an example, after evenly distributing the upper limit of QPS corresponding to the downstream system, the upper limit of QPS corresponding to each downstream service in the downstream system can be obtained as 500. Subsequently, rate limiting operations can be performed on the downstream services that reach the corresponding QPS upper limit, thereby restricting the data flow from the message sending system to the downstream service (i.e., the outgoing traffic of the message sending system for each downstream service).

[0094] Step S163: In Sentinel, configure the rate limiting condition corresponding to each downstream service in the downstream system as: the upper limit of the target indicator corresponding to each downstream service.

[0095] In this embodiment, considering that most stress tests only test the overall performance of the downstream system, when the downstream system only obtains its own overall performance information or the performance of each downstream service it contains tends to be the same, etc., based on the above-mentioned even distribution method, the message sending system can normally configure the corresponding limiting conditions for each downstream service according to the overall performance information reported by the downstream system in the foregoing situations. Therefore, the applicability and stability of the message sending method provided in the embodiments of the present application can be effectively improved.

[0096] Exemplarily, referring to Figure 3 the structural schematic diagram of the message notification system shown, taking the message sending system in the message notification system as an example to execute the message sending method provided in the embodiments of the present application, the implementation process of the above message sending method will be described. Referring to Figure 4 the schematic diagram of the implementation process of the message sending method shown, the implementation process includes:

[0097] Step A1: The traffic control and message scheduling center receives the relevant information of the target population sent by the population acquisition service.

[0098] Among them, the message sending system in the message notification system can be: application programs such as the above-mentioned precision marketing system.

[0099] In specific implementation, the population acquisition service detects the target population of the message to be notified. For example, it selects the population that meets certain conditions (such as the population whose membership has expired for three days) through the population selection service, or detects the population that has performed certain behaviors (such as placing an order, logging in, or renewing, etc.) through the event service, and uses the obtained population as the target population of the message to be notified.

[0100] Then, relevant information such as the user identification (UID) of the target population is sent to the message sending system.

[0101] Step A2: The traffic control and message scheduling center determines the target downstream service that needs to send the message and the target message to be sent according to the relevant information of the target population.

[0102] In specific implementation, the traffic control and message scheduling center determines the target channel for sending the message to be sent through the channel matching component according to the relevant information of the target population, and then determines the target downstream service. Then, the traffic control and message scheduling center matches the business policy and the type of message to be sent to the user, and then determines the target message. For example, according to the business requirements, the relevant information of the target population and the matching business policy can be encapsulated to obtain the target message.

[0103] Step A3: The traffic control and message scheduling center enters the link of calling the downstream interface of the target downstream service to send the target message.

[0104] In specific implementation, when the traffic control and message scheduling center calls the downstream interface of the target downstream service to send a message, it first reads the flow limiting condition corresponding to the target downstream service pre-configured in Sentinel, and judges whether the message sending system is flow-limited, that is, judges whether the magnitude of the current request of the message sending system to the downstream interface is greater than the flow limiting threshold in the flow limiting condition.

[0105] Step A4: If it is determined that the message sending system is not flow-limited, the traffic control and message scheduling center calls the downstream interface of the target downstream service to send the target message, that is, sends the target message to the target population through the target downstream service.

[0106] Step A5: If it is determined that the message sending system is rate-limited, the traffic control and message scheduling center generates a RocketMQ message with a random delay of 15 - 30 minutes, sends it to the delay queue of RocketMQ, and proceeds to Step A6.

[0107] Step A6: After the set delay time, RocketMQ triggers the processing of the delayed message, and the traffic control and message scheduling center continues to determine whether it is rate-limited itself, that is, to determine whether the current request magnitude of the message sending system to the downstream interface is still greater than the rate-limiting threshold in the rate-limiting condition.

[0108] Step A7: If it is determined that the message sending system is not rate-limited, the traffic control and message scheduling center calls the downstream interface of the target downstream service to send the target message.

[0109] Step A8: If it is still determined that the message sending system is rate-limited, return to Step A5.

[0110] Based on the above example, by applying the message sending method provided in the embodiments of the present application to the above message notification system, it is possible to solve the problem that the message notification system could not send messages to a large number of people due to the limitation of downstream performance before, otherwise it would cause pressure on the downstream system, so that the message notification system can implement message notifications for a large number of people such as millions and tens of millions, improving system performance. And in the scenarios of marketing and user notification in the above example, the message sending method provided in the embodiments of the present application can also enhance the arrival rate of user messages. For example, for user behaviors such as order placement, automatic renewal, and deduction of fees, instant and reliable message notifications can be achieved for users, which helps to improve the user experience and effectively avoid the risks that may be brought by the failure to notify users (i.e., the relevant messages do not arrive).

[0111] It should be noted that for the method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the embodiments of the present application are not limited by the described action sequence, because according to the embodiments of the present application, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily essential for the embodiments of the present application.

[0112] Refer to Figure 3 As shown in the structural schematic diagram of a message notification system according to an embodiment of the present application, the system includes a population acquisition service, a message sending system, and a downstream system. The message sending system is configured with: a traffic control and message scheduling center, a message middleware with a delayed message function, and a traffic control component that supports traffic control policy configuration, where:

[0113] The population acquisition service is used to detect the target population of the message to be notified, and when the target population is detected, send the relevant information of the target population to the message sending system;

[0114] The traffic control and message scheduling center is used to determine the target downstream service from the downstream services of the downstream system according to the relevant information of the target population, and generate the target message to be notified;

[0115] The traffic control and message scheduling center is also used to read the current limiting condition corresponding to the target downstream service pre-configured in the traffic control component before sending the target message to the target downstream service in the downstream system;

[0116] The traffic control and message scheduling center is also used to detect whether to perform the current limiting operation on the target downstream service according to the current limiting condition corresponding to the target downstream service and the current message sending situation of the message sending system to the target downstream service;

[0117] The traffic control and message scheduling center is also used to, when it is determined to perform the current limiting operation on the target downstream service, send the target message to the target downstream service through the message middleware after a set delay duration, so as to notify the target population of the target message.

[0118] Adopting the technical solution of the embodiment of the present application, by configuring the traffic control component, the current limiting condition configuration for the downstream service is realized on the side of the message sending system, so that the traffic control and message scheduling center can perform refined current limiting operation detection for the downstream service, which can effectively avoid the situation that the downstream service crashes because the number of messages sent by the message sending system exceeds its own message processing capacity, and ensure the normal message receiving ability of the downstream service; and then by configuring the message middleware, the traffic control and message scheduling center can delay the sending of messages to achieve current limiting when it is determined to perform the current limiting operation, so as to avoid situations such as message omission or a large number of message retransmissions occupying system resources caused by the current limiting of the message sending system, thereby improving the arrival rate of message sending and the utilization rate of resources.

[0119] Optionally, the traffic control and message scheduling center is also used to perform the following steps:

[0120] Cache the target message through the message middleware, and after delaying the set duration, detect again whether to perform the current limiting operation on the target downstream service according to the current limiting condition corresponding to the target downstream service and the current message sending situation of the message sending system to the target downstream service;

[0121] In the case of determining not to perform the traffic limiting operation for the target downstream service, send the target message cached by the message middleware to the target downstream service.

[0122] Optionally, the traffic control and message scheduling center is further configured to, in the case of determining again to perform the traffic limiting operation for the target downstream service, repeatedly execute the step of detecting whether to perform the traffic limiting operation for the target downstream service after a set delay duration until the target message cached by the message middleware is sent to the target downstream service.

[0123] Optionally, the message middleware includes Rocket Message Queue (RocketMQ), and the RocketMQ includes a delay queue and a consumption queue;

[0124] The traffic control and message scheduling center is further configured to perform the following steps:

[0125] Set the delay level of the target message according to the set duration, and put the target message with the set delay level into the delay queue in the RocketMQ, where the delay queue is used to delay the time when the message enters the consumption queue in the RocketMQ according to the delay level;

[0126] When the current message to be sent in the consumption queue is the target message, detect again whether to perform the traffic limiting operation for the target downstream service according to the traffic limiting condition corresponding to the target downstream service and the current message sending situation of the message sending system for the target downstream service.

[0127] Optionally, the traffic control and message scheduling center is further configured to perform the following steps:

[0128] Receive the first information reported by the downstream system, where the first information includes at least one of the performance-related information of the downstream system and the traffic limiting strategy adopted by the downstream system;

[0129] According to the first information, configure the traffic limiting condition corresponding to each downstream service in the downstream system in the traffic control component, and each of the downstream services at least includes the target downstream service.

[0130] Optionally, the traffic control component includes Sentinel, and the first information includes the overall performance information of the downstream system;

[0131] The traffic control and message scheduling center is further configured to perform the following steps:

[0132] Determine the upper limit of the target metric corresponding to the downstream system according to the overall performance information of the downstream system, where the upper limit of the target metric corresponding to the downstream system is used to represent the upper limit of the outgoing traffic of the message sending system for the downstream system;

[0133] According to the number of downstream services in the downstream system, evenly distribute the upper limit of the target metric corresponding to the downstream system to obtain the upper limit of the target metric corresponding to each downstream service in the downstream system, where the upper limit of the target metric corresponding to the downstream service is used to represent the upper limit of the outgoing traffic of the message sending system for the downstream service;

[0134] In the Sentinel, configure the flow limiting condition corresponding to each downstream service in the downstream system as: the upper limit of the target metric corresponding to each downstream service.

[0135] Optionally, the traffic control and message scheduling center is further configured to randomly select a duration within a preset duration range as the set duration corresponding to the target message.

[0136] Optionally, the population acquisition service includes at least one of the following:

[0137] The population selection service is used to select a population that meets the set conditions and determine the selected population as the target population of the message to be notified;

[0138] The event service is used to detect the population that has completed the set behavior and determine the detected population as the target population of the message to be notified.

[0139] Optionally, the message sending system is further configured with a channel matching component;

[0140] The traffic control and message scheduling center is further configured to select the target channel for sending the message from the preset channels through the channel matching component according to the relevant information of the target population, and select the downstream service associated with the target channel from the downstream services of the downstream system as the target downstream service.

[0141] Figure 5 It is a schematic structural diagram of a message sending device according to an embodiment of the present application. The message sending device is applied to the traffic control and message scheduling center configured in the message sending system. The message sending system is further configured with: a message middleware with a delayed message function, and a traffic control component that supports traffic control policy configuration. The device includes:

[0142] The first reading module is configured to read the flow limiting condition corresponding to the target downstream service pre-configured in the traffic control component before sending the target message to the target downstream service in the downstream system;

[0143] The first processing module is used to detect whether to perform a flow limiting operation on the target downstream service according to the flow limiting condition corresponding to the target downstream service and the current message sending situation of the message sending system for the target downstream service;

[0144] The first sending module is used to, when it is determined to perform a flow limiting operation on the target downstream service, send the target message to the target downstream service through the message middleware after a set delay duration.

[0145] By adopting the technical solution of the embodiment of the present application, by configuring the traffic control component, the flow limiting condition configuration for the downstream service is realized on the message sending system side, so that the traffic control and the message scheduling center can perform precise detection of the flow limiting operation for the downstream service, which can effectively avoid the situation that the downstream service crashes due to the number of messages sent by the message sending system exceeding its own message processing capacity, and ensure the normal message receiving ability of the downstream service; and then by configuring the message middleware, the traffic control and the message scheduling center can delay the message sending to achieve flow limiting when it is determined to perform a flow limiting operation, thereby avoiding situations such as message loss or a large number of message resends occupying system resources caused by the flow limiting of the message sending system, and thus improving the arrival rate of message sending and the utilization rate of resources.

[0146] Optionally, the first sending module includes:

[0147] The first sending sub-module is used to cache the target message through the message middleware, and after delaying the set duration, detect again whether to perform a flow limiting operation on the target downstream service according to the flow limiting condition corresponding to the target downstream service and the current message sending situation of the message sending system for the target downstream service;

[0148] The second sending sub-module is used to, when it is determined not to perform a flow limiting operation on the target downstream service, send the target message cached in the message middleware to the target downstream service.

[0149] Optionally, the device further includes:

[0150] The second processing module is used to, when it is determined again to perform a flow limiting operation on the target downstream service, repeat the step of detecting whether to perform a flow limiting operation on the target downstream service after delaying the set duration until the target message cached in the message middleware is sent to the target downstream service.

[0151] Optionally, the message middleware includes Rocket Message Queue RocketMQ, and the RocketMQ includes a delay queue and a consumption queue;

[0152] The first sending sub-module includes:

[0153] A third sending sub-module, configured to set a delay level of the target message according to the set duration, and put the target message with the set delay level into a delay queue in the RocketMQ, where the delay queue is used to delay the time for the message to enter a consumption queue in the RocketMQ according to the delay level;

[0154] A fourth sending sub-module, configured to, when the current message to be sent in the consumption queue is the target message, detect again whether to perform a current-limiting operation on the target downstream service according to the current-limiting condition corresponding to the target downstream service and the current message sending situation of the message sending system for the target downstream service.

[0155] Optionally, the device further includes:

[0156] A first receiving module, configured to receive first information reported by the downstream system, where the first information includes at least one of performance-related information of the downstream system and a current-limiting strategy adopted by the downstream system;

[0157] A first configuration module, configured to configure, according to the first information, current-limiting conditions corresponding to each downstream service in the downstream system in the traffic control component, where the downstream services at least include the target downstream service.

[0158] Optionally, the traffic control component includes Sentinel, and the first information includes overall performance information of the downstream system;

[0159] The first configuration module includes:

[0160] A first configuration sub-module, configured to determine a target index upper limit corresponding to the downstream system according to the overall performance information of the downstream system, where the target index upper limit corresponding to the downstream system is used to represent an upper limit of the outgoing traffic of the message sending system for the downstream system;

[0161] A second configuration sub-module, configured to evenly distribute the target index upper limit corresponding to the downstream system according to the number of downstream services in the downstream system, to obtain a target index upper limit corresponding to each downstream service in the downstream system, where the target index upper limit corresponding to the downstream service is used to represent an upper limit of the outgoing traffic of the message sending system for the downstream service;

[0162] A third configuration sub-module, configured to configure, in the Sentinel, the current-limiting condition corresponding to each downstream service in the downstream system as: the target index upper limit corresponding to each downstream service.

[0163] Optionally, the device further includes:

[0164] A first selection module, configured to randomly select a duration within a preset duration range as the set duration corresponding to the target message.

[0165] It should be noted that the device embodiment is similar to the method embodiment, so the description is relatively simple. For related parts, please refer to the method embodiment.

[0166] An embodiment of the present application further provides an electronic device, as Figure 6 shown, including a processor 601, a communication interface 602, a memory 603, and a communication bus 604. Among them, the processor 601, the communication interface 602, and the memory 603 complete mutual communication through the communication bus 604.

[0167] The memory 603 is used to store a computer program;

[0168] The processor 601, when executing the program stored in the memory 603, performs the steps of the message sending method disclosed in the embodiment of the present application.

[0169] The communication bus mentioned in the above terminal may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of simplicity of representation, Figure 6 only a thick line is used to represent it in the figure, but it does not mean that there is only one bus or one type of bus.

[0170] The communication interface is used for communication between the above terminal and other devices.

[0171] The memory may include a Random Access Memory (RAM), and may also include a non-volatile memory, such as at least one disk memory. Optionally, the memory may also be at least one storage device located far from the aforementioned processor.

[0172] The above-mentioned processor may be a general-purpose processor, including a central processing unit, a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0173] An embodiment of this application also provides a computer-readable storage medium, on which a computer program / instructions are stored. When the computer program / instructions are executed by a processor, the message sending method disclosed in the embodiment of this application is implemented.

[0174] An embodiment of this application also provides a computer program product, including a computer program / instructions. When the computer program / instructions are executed by a processor, the message sending method disclosed in the embodiment of this application is implemented.

[0175] In the above embodiment, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiment of this application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or data center that includes one or more integrated available media. The available medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).

[0176] It should be noted that in this text, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, article or device comprising the element.

[0177] Each embodiment in this specification is described in a related manner. For the same or similar parts among the embodiments, reference can be made to each other, and the differences between each embodiment and other embodiments are emphasized. In particular, for system embodiments, since they are basically similar to method embodiments, the description is relatively simple, and reference can be made to the relevant parts of the method embodiments for the relevant content.

[0178] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application are included in the protection scope of the present application.

Claims

1. A message sending method, characterized in that: The method is applied to a flow control and message dispatch center configured by a message sending system, wherein the message sending system is further configured with: a message middleware having a delayed message function, and a flow control component supporting flow control strategy configuration, and the method comprises: Before sending a target message to a target downstream service in a downstream system, reading a flow limiting condition corresponding to the target downstream service pre-configured in the flow control component; According to the current limiting condition corresponding to the target downstream service and the current message sending status of the message sending system to the target downstream service, detecting whether to perform a current limiting operation on the target downstream service; In the case where it is determined to perform a current limiting operation on the target downstream service, the target message is sent to the target downstream service through the message middleware after a delay of a set time period.

2. The method according to claim 1, characterized in that The sending the target message to the target downstream service after delaying a set time by the message middleware includes: The target message is cached by the message middleware, and after the delay of the set time, according to the current limiting condition corresponding to the target downstream service and the current message sending status of the message sending system to the target downstream service, it is detected again whether to perform the current limiting operation for the target downstream service; When it is determined that a current limiting operation is not performed on the target downstream service, the target message cached by the message middleware is sent to the target downstream service.

3. The method according to claim 2, characterized in that The method further comprises: When it is determined again to execute the current limiting operation for the target downstream service, the step of detecting whether to execute the current limiting operation for the target downstream service after delaying for a set period of time is repeated until the target message cached by the message middleware is sent to the target downstream service.

4. The method according to claim 2, characterized in that: The message middleware includes a rocket message queue RocketMQ, and the RocketMQ includes a delay queue and a consumption queue; The target message is cached by the message middleware, and after delaying the set time, according to the current limiting condition corresponding to the target downstream service and the current message sending status of the target downstream service by the message sending system, the current limiting operation for the target downstream service is detected again, including: Setting the delay level of the target message according to the set duration, and placing the target message after the delay level is set into the delay queue in RocketMQ, wherein the delay queue is used to delay the time for the message to enter the consumption queue in RocketMQ according to the delay level; When the current message to be sent in the consumer queue is the target message, based on the current limiting condition corresponding to the target downstream service and the current message sending status of the message sending system to the target downstream service, it is detected again whether to perform the current limiting operation for the target downstream service.

5. The method according to claim 1, characterized in that Before reading the flow limiting condition corresponding to the target downstream service pre-configured in the flow control component, the method further includes: receiving first information reported by the downstream system, the first information comprising: performance-related information of the downstream system, and at least one of the current limiting strategies adopted by the downstream system; According to the first information, the flow limiting conditions corresponding to each downstream service in the downstream system are configured in the flow control component, and the each downstream service at least includes: the target downstream service.

6. The method according to claim 5, characterized in that The flow control component includes a sentinel, and the first information includes overall performance information of the downstream system; The configuring, in the flow control component according to the first information, the flow limiting conditions corresponding to each downstream service in the downstream system includes: Determine, according to the overall performance information of the downstream system, an upper limit of a target indicator corresponding to the downstream system, where the upper limit of the target indicator corresponding to the downstream system is used to characterize an upper limit of an outbound flow of the message sending system for the downstream system; According to the number of downstream services in the downstream system, the upper limit of the target indicator corresponding to the downstream system is evenly distributed to obtain the upper limit of the target indicator corresponding to each downstream service in the downstream system, and the upper limit of the target indicator corresponding to the downstream service is used to represent the upper limit of the outbound flow of the message sending system for the downstream service; In the Sentinel, the current limiting condition corresponding to each downstream service in the downstream system is configured as: the upper limit of the target indicator corresponding to each downstream service.

7. The method according to any one of claims 1 to 6, characterized in that: Before sending the target message to the target downstream service after delaying a set time by the message middleware, the method further includes: Within the preset time range, a time is randomly selected as the set time corresponding to the target message.

8. A message notification system, characterized in that: The system includes a crowd acquisition service, a message sending system and a downstream system. The message sending system is configured with: a flow control and message dispatch center, a message middleware with a delayed message function, and a flow control component that supports flow control strategy configuration, wherein: The crowd acquisition service is used to detect the target crowd of the message to be notified, and when the target crowd is detected, send the relevant information of the target crowd to the message sending system; The traffic control and message dispatching center is used to determine the target downstream service from the downstream services of the downstream system according to the relevant information of the target population, and generate the target message to be notified; The flow control and message scheduling center is further used to read the flow limiting condition corresponding to the target downstream service pre-configured in the flow control component before sending the target message to the target downstream service in the downstream system; The flow control and message scheduling center is further used to detect whether to perform a flow limiting operation on the target downstream service according to the flow limiting condition corresponding to the target downstream service and the current message sending status of the message sending system to the target downstream service; The traffic control and message scheduling center is also used to send the target message to the target downstream service through the message middleware after a set delay period when it is determined to perform a flow limiting operation on the target downstream service, so as to notify the target group of people of the target message.

9. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; Memory, used to store computer programs; A processor, configured to implement the message sending method according to any one of claims 1 to 7 when executing a program stored in a memory.

10. A computer-readable storage medium having a computer program / instruction stored thereon, characterized in that: When the computer program / instruction is executed by a processor, the message sending method according to any one of claims 1 to 7 is implemented.

11. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instruction is executed by a processor, the message sending method according to any one of claims 1 to 7 is implemented.