I am currently working on a microservice system using node and python. We are currently using AWS SQS to process messages between services on queues however in one of the services we send a message to the queue and that same service processes that message. no other microservice handles it. So my question is is it better to handle internal messages through an event bus/event queue inside the same application or container or should the messages be sent to an external service via a network request and processed by a worker.
- Internal Case Container
Application
|-------------------------------------------------------|
| |
| |---------| Send Message |---------||
| | Main |------------------------------>| Internal||
| | App |<------------------------------| Queue ||
| |---------| Emit Message |---------||
| |
|-------------------------------------------------------|
- External Queue
Application
|-----------------|
| |
| | Send Network Message |---------|
| |-------------------------->| External|
| |<--------------------------| Queue |
| | Process Network Message |---------|
| |
|-----------------|