2024-09-26
Accepted
For Q26, we need to ensure a responsive UI. Some calls, especially external ones, may be long running or costly and lead to a delay in the UI.
- Whenever the UI triggers long-running calls, they need to be decoupled from the long-running threads.
- We do this using queues, making them asynchronous calls.
- Costly operations like matching should run periodically in the background.
The UI design to consider failures and failure messaging to the user more carefully.
- Responsiveness
- Failure-tolerance
- Testability (more cases of message ordering are possible)