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]

Reply via email to