In this design, we are going to see how to design outgoing email load balancing. If we have thousands of email to send every hour, we need a load balancer to distribute out going email load to several machines. Normally ISP & Big Enterprise environment has this type of setup, during outgoing email processing, we normally check the emails either it is spam or has any viruses in it, cause we cannot spread virus or spam email, if we do not scan email before send to other server, they could make complain and we could get blacklisted for this. Email scanning is a time consuming process and if there is thousands of email to scan per hour, we must need several computer’s otherwise it could be impractically delay during sending.
Why this Design ?
this design main purpose is to spread the load of outgoing email to multiple machine, so that outgoing email scanning and sending doesnt make any noticable delay.
How this Design Works ?
Here, Mail Sending Process is very simple, Our Load Balancer’s hostname is “smtp.mailserverguru.com” .
1. Our clients will send mail to “smtp.mailserverguru.com” .
2. Load balancer will receive mail, and send it to the one of upstream mail server for sending.
3. Upstream mail server will send to the intended recipient server.
this is actually the practical picture of ISP environment, where multiple corporate taking our smtp service, they all are sending their mail to us to send to internet.
To understand the scenario more clearly you can watch the video.