ruanwenjun opened a new issue, #15931: URL: https://github.com/apache/dolphinscheduler/issues/15931
### Search before asking - [X] I had searched in the [DSIP](https://github.com/apache/dolphinscheduler/issues/14102) and found no similar DSIP. ### Motivation The alert server is designed as HA, and we use single thread in the active server to loop alert event and send alert event to remote e.g HTTP/Slack/Email... <img width="1216" alt="image" src="https://github.com/apache/dolphinscheduler/assets/22415594/522d2cb2-788d-43e9-a5de-7e3b8d3209d4"> The current thread model has some problems - Once an alert is blocked due to the remote server network block, the whole alert event will be blocked. - The throughput of the AlertServer depends on the main thread on the active server, and due to the event sending is io blocking operation, so the throughput is very small. ### Design Detail This issue aims to improve the throughput of the alert server. <img width="1236" alt="image" src="https://github.com/apache/dolphinscheduler/assets/22415594/4e68888d-f5c0-4c5a-a601-8a8876d2aa09"> In the new thread model, there will exist three kinds of threads in the alert server - Event fetch thread - Event loop thread - Evend sending threads Each thread will not block others. ### Compatibility, Deprecation, and Migration Plan Compatibility with latest version. ### Test Plan Test by UT. ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
