forge-docs

0008. Decoupling micro-services — transitioning from REST to SQS

Status: Accepted Date: 2025-11-18 Context: Multiple Quarkus microservices in an evolving prototype; synchronous REST now with message-friendly boundaries for a later SQS move.

Context

The system is composed of multiple Quarkus microservices (authentication, resume parsing, job spec parsing, scoring, etc.). The long-term architecture may benefit from asynchronous decoupling (e.g., via AWS SQS) to support scaling, retries, and distributed workflows.

However, the platform is currently in a prototype/demo phase. Although the backend code is production quality, domain boundaries and service interactions are still evolving. Introducing asynchronous messaging now would add complexity without delivering clear value.

Decision

We will implement synchronous REST calls between microservices for the initial prototype. We will intentionally keep service boundaries and internal APIs message-oriented, so the system can switch to SQS (or another queue) with minimal refactoring later.

Rationale

Consequences

Positive

Negative

Future Considerations

Move to SQS when: