HSG-MCS-HS21_tapas/TAPAS-Final/doc/architecture/decisions/0002-event-driven-communication.md

25 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

2021-12-23 07:15:07 +00:00
# 5. Event driven communication
Date: 2021-10-18
## Status
Accepted
## Context
The TAPAS system will be implemented following the Microservices architecture. Each service encapsulates a different bounded context with different functional and non-functional requirements. The TAPAS system could either be implemented as Synchronous Microservices or Event-Driven Microservices.
## Decision
The TAPAS system could either be implemented as Event-Driven Microservices.
Event-driven asynchronous communication suits the TAPAS system better than synchronous communication. This will facilitate looser coupling between services.
Scalability, one of the system's top 3 driving architectural characteristics, will be positively impacted as individual services can be scaled up and down as needed.
Responsiveness (another of the system's driving architectural characteristics) will also improve as services do not need to wait for other services to respond before responding themselves.
## Consequences
Asynchronous communication makes error handling more complex. At this moment in time we do not see this coming a problem. However, if the error handling becomes overly complex, then we might need to implement the workflow event pattern in order to combat this increased complexity.