One thing you see more and more in cases like this is a publish/subscribe system of events, so different parts of your site can react to things that happen. For example, your main route handler might take care of storing the user's data and then emit a signup event that other parts of the system can then take action on.
You might have a billing subsystem that creates the user's subscription and charges them for the first time, and an emails subsystem that takes care of sending the welcome email.
This might be implemented within your codebase using a signals module built into the web framework you use, or you can use an external application like Redis pubsub or Apache Kafka
One thing you see more and more in cases like this is a publish/subscribe system of events, so different parts of your site can react to things that happen. For example, your main route handler might take care of storing the user's data and then emit a
signup
event that other parts of the system can then take action on.You might have a
billing
subsystem that creates the user's subscription and charges them for the first time, and anemails
subsystem that takes care of sending the welcome email.This might be implemented within your codebase using a
signals
module built into the web framework you use, or you can use an external application like Redis pubsub or Apache KafkaWe wrote remit as a nice wrapper around RabbitMQ for exactly this purpose.
I'll check it out. Thanks!
Interesting. Thanks for sharing your thoughts!