Sqs vs Sns
Queus vs Pub/Sub
As the journey of learning about microservice continues, there is a concept of async collaboration between services.
Why is that important? Async communication allows for long running process to not block the client. It allows for snappier, better user experience since we will update the client/UI immediately, and return the calculated answer later.
E.g. sending the client an email. The user signs up, and as a part of the process we send the user an email. There shouldn’t be any reason for the user to wait until that email has been sent. So we immediately redirect him to the homepage while generating a job of “sending an email”.