Clear feedback
The caller knows whether the operation succeeded or failed before continuing.
Synchronous communication makes the caller wait for a response before it continues.
A synchronous flow completes one interaction before the caller moves on. A client sends a request, the receiving service does the work, and the response comes back through the same interaction.
Simple definition:
Ask, wait, receive the answer, then continue.
Think of calling a help desk. You stay on the call while the agent looks up the answer. The conversation is direct and easy to follow, but you are waiting while the agent works.
Synchronous communication gives the caller an immediate answer when the operation is quick and the result is needed now.
The caller knows whether the operation succeeded or failed before continuing.
Request and response are easy to trace in a small workflow.
A slow dependency can increase latency or make the user wait.
If the dependency is unavailable, the caller may also be blocked.
PM perspective: synchronous is often right for decisions the user needs immediately, such as validating a password or showing an available price.
Use it for short operations where the caller needs a confirmed result before the next step.
The product needs to know whether credentials are accepted before opening the account.
The checkout needs the current price before showing the total.
The interface needs a validation response before allowing the next step.
The product may need an authorization result before confirming an order.
In a login flow, the client sends credentials to an authentication service and waits for a success or failure response. The response determines whether the user sees the account or an error.
Synchronous calls commonly use a request-response API. The caller owns the waiting time and usually receives a direct result from the service it called.
Starts the request and waits for the response.
Performs the operation and returns a result.
Synchronous follows a direct request-response interaction. Event-driven lets consumers react to a published fact.
A caller can wait for one task even while other work runs in parallel elsewhere.
A synchronous response can still be slow. It only means the caller waits for it.
Waiting for a response does not guarantee success; timeouts and failures still need handling.
| ENGLISH TERM | 中文 | SIMPLE ENGLISH | 中文小白理解 |
|---|---|---|---|
| Synchronous | 同步 | The caller waits for a response before continuing. | 调用方要等回应后才能继续。 |
| Request | 请求 | A message asking a service to do something. | 请系统执行某件事的一条消息。 |
| Response | 响应 | The result returned after a request. | 系统处理请求后返回的结果。 |
| Latency | 延迟 | The time it takes to receive a result. | 从发出请求到收到结果所花的时间。 |
Synchronous communication is direct and easy to understand, but the waiting time and dependency failures are part of the product experience.
PM perspective: use synchronous calls when the user needs a result now, and define the timeout, retry, and fallback when the answer does not arrive.