ਸਮਕਾਲੀ ਸੰਚਾਰ ਕਾਲਰ ਨੂੰ ਉਦੋਂ ਤਕ ਰੋਕਦਾ ਹੈ ਜਦੋਂ ਤਕ ਜਵਾਬ ਨਹੀਂ ਆ ਜਾਂਦਾ; ਅਸਮਕਾਲੀ ਸੰਚਾਰ ਇੱਕ ਸੰਦੇਸ਼ ਭੇਜਦਾ ਹੈ ਅਤੇ ਬਿਨਾਂ ਉਡੀਕ ਕਰਿਆਂ ਅਗਾਂਹ ਵਧਦਾ ਹੈ। ਹਰੇਕ ਜੋੜ, ਲੇਟੰਸੀ ਅਤੇ ਲਚਕਦਾਰਤਾ ਵਿੱਚ ਵੱਖਰੀ ਤਬਦੀਲੀ ਕਰਦਾ ਹੈ।
ਸਮਕਾਲੀ ਸੰਚਾਰ ਕਾਲਰ ਨੂੰ ਉਦੋਂ ਤਕ ਰੋਕਦਾ ਹੈ ਜਦੋਂ ਤਕ ਜਵਾਬ ਨਹੀਂ ਆ ਜਾਂਦਾ; ਅਸਮਕਾਲੀ ਸੰਚਾਰ ਇੱਕ ਸੰਦੇਸ਼ ਭੇਜਦਾ ਹੈ ਅਤੇ ਬਿਨਾਂ ਉਡੀਕ ਕਰਿਆਂ ਅਗਾਂਹ ਵਧਦਾ ਹੈ। ਹਰੇਕ ਜੋੜ, ਲੇਟੰਸੀ ਅਤੇ ਲਚਕਦਾਰਤਾ ਵਿੱਚ ਵੱਖਰੀ ਤਬਦੀਲੀ ਕਰਦਾ ਹੈ।
| ਪਹਿਲੂ | ਸਮਕਾਲੀ (REST/gRPC) | ਅਸਮਕਾਲੀ (messaging) |
|---|
| ਕਾਲਰ ਉਡੀਕ ਕਰਦਾ ਹੈ? | ਹਾਂ | ਨਹੀਂ |
| ਅਸਥਾਈ ਜੋੜ | ਮਜ਼ਬੂਤ | ਢਿੱਲਾ |
| ਬੰਦ ਦਾ ਲਚਕਦਾਰਤਾ | ਘੱਟ | ਉੱਚ (ਬ੍ਰੋਕਰ ਬਫਰ) |
| ਸੰਗਤੀ | ਤੁਰੰਤ | ਆਖ਼ਰਕਾਰ |
| ਗੁੰਝਲਦਾਰਤਾ | ਘੱਟ | ਉੱਚ |
| ਡੀਬਗ ਕਰਨਯੋਗ | ਆਸਾਨ (ਲਾਈਨਰ) | ਮੁਸ਼ਕਲ (ਵਹਾਅ) |
SYNC: Caller ──request──▶ Service
Caller ◀─response── Service (blocked the whole time)
ASYNC: Caller ──message──▶ [ Queue ] ──▶ Service
Caller continues immediately; Service handles it later
ਅਸਮਕਾਲੀ ਵਿਫਲਤਾਵਾਂ ਨੂੰ ਲੁਕਾਉਂਦਾ ਹੈ — ਇੱਕ ਛੱਡਿਆ ਹੋਇਆ ਜਾਂ ਜ਼ਹਿਰ ਸੰਦੇਸ਼ ਇੱਕ ਵਰਕਫਲੋ ਨੂੰ ਚੁੱਪ ਤਰ੍ਹਾਂ ਤੋੜ ਸਕਦਾ ਹੈ। ਤੁਹਾਨੂੰ ਡेਡ-ਲੈਟਰ ਕਤਾਰਾਂ ਅਤੇ ਨਿਗਰਾਨੀ ਦੀ ਜ਼ਰੂਰਤ ਹੈ।
ਇਹ ਚੋਣ ਸਿੱਧੀ ਤਰ੍ਹਾਂ ਨਿਯੰਤ੍ਰਿਤ ਕਰਦੀ ਹੈ ਕਿ ਵਿਫਲਤਾਵਾਂ ਕਿਵੇਂ ਫੈਲਦੀਆਂ ਹਨ: ਸਮਕਾਲੀ ਕਾਲਸ ਤੇਜ਼ ਅਤੇ ਸਪਸ਼ਟ ਤਰ੍ਹਾਂ ਅਸਫਲ ਹੁੰਦੀ ਹੈ, ਅਸਮਕਾਲੀ ਸੰਦੇਸ਼ ਅलਗ ਕਰਦੇ ਹਨ ਪਰ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਭੋਗੀ ਤੱਕ ਰੁਕਾਉਂਦੇ ਹਨ।
ਉਨ੍ਹਾਂ ਨੂੰ ਚੰਗੀ ਤਰ੍ਹਾਂ ਮਿਕਸ ਕਰਨਾ — ਕਿਨਾਰੇ ਤੇ ਸਮਕਾਲੀ, ਵਰਕਫਲੋ ਲਈ ਅਸਮਕਾਲੀ — ਲਚਕਦਾਰ ਮਾਈਕ੍ਰੋਸਰਵਿਸਿਜ਼ ਬਣਾਉਣ ਵਿੱਚ ਇੱਕ ਮੂਲ ਹੁਨਰ ਹੈ।