Which design concept describes placing a queue between two components of an application so that, even if one component stops, the other can keep processing?

1 / 1
Select an answer
CorrectB

Explanation

Choosing the design concept that decouples component dependencies with a queue.

  • 1placing a queue between two componentsCommunicate asynchronously through a queue rather than by direct calls
  • 2even if one component stopsFailures must not cascade to the other side
  • 3keep processingMessages are retained and can resume after recovery
AIncorrect

Tight coupling

Tight coupling is a design where components depend directly on one another.

If one stops, the other is affected and tends to stop too, which is the opposite of this question's queue-based decoupling, so it is incorrect.

BCorrect

Loose coupling

Correct. Loose coupling is a design that places a queue (such as SQS) between components to reduce direct dependency. Even if the receiving side stops, messages are held in the queue and processing can resume after recovery. Because failures are contained in one place, availability improves.

CIncorrect

Vertical scaling

Vertical scaling is a technique of boosting the performance of a single server (the number of CPU cores and clock speed, the amount of memory, and so on) — scale-up.

It is unrelated to decoupling dependencies between components, so it is incorrect.

DIncorrect

Single point of failure (SPOF)

A single point of failure is the name of a problem — a place where, if it breaks, the whole system stops.

It is the opposite of the design concept of isolating failures with a queue, so it is incorrect.

Key Takeaway

'Insert a queue', 'isolate failures', and 'keep going even if one side stops' point to loose coupling. SQS / SNS are representative. It is contrasted with tight coupling (direct dependency), which risks cascading failures.