Ask HN: Would a server written in a native language still need job schedulers?
I have a suspicion that things like Celery or RabbitMQ or whatever else people are using with Ruby/Python based servers are only needed because these languages are slow and don't really support threads. Even redis would probably be not needed.
Am I missing something important?
7 comments
[ 2.5 ms ] story [ 25.9 ms ] threadMicro services also utilize these databases and frameworks.
If you have to have several hardware servers, I don't see why the application server itself cannot contain basic boilerplate code to coordinate communication between the different instances of itself that are running on different machines.
You want offload your non-time dependent requests to other machines to handle without slowing down your request processing on the web servers.
Also most queues provide a mechanism distributing load and autoscaling.
Asynchonous tasks like sending emails and processing credit card payments. Example, user signups, and your flow is to send a welcome email. You don't want the signup response to wait on sending the email for example. So you drop it on a queue to be processed "later".