BookatlasTwo-Day MuleSoft → Salesforce Bootcamp
466 / 1048 · Module 10 — Synchronous vs Asynchronous Integrations← prev⊞ allnext →

Module 10 cheat sheet

SYNCHRONOUS
===========
caller waits
immediate final response

good for:
quick reads
small transactions
immediate decisions


ASYNCHRONOUS
============
caller doesn't wait for completion

often:
publish queue/event
return 202

good for:
long work
large volume
retries
downstream outages
traffic spikes


QUEUE
=====
buffer
load leveling
temporal decoupling


EVENTUAL CONSISTENCY
====================
systems may temporarily differ
but converge later


POLLING
=======
Scheduler
+ watermark
+ changed records


EVENT-DRIVEN
============
CDC
Platform Events
Pub/Sub


DELIVERY
========

at-most-once
at-least-once
exactly-once

practical assumption:
duplicates may happen


IDEMPOTENCY
===========
duplicate delivery
must not create duplicate business effects


ORDERING
========
duplicates and ordering are separate problems

use:
versions
sequence
partition/key where appropriate


RETRIES
=======
bounded

transient failures only


DLQ
===
messages that automatic processing
could not successfully complete


OBSERVABILITY
=============

correlationId
eventId
retry count
queue depth
oldest message age
DLQ count

The interview sentence to memorize is:

“I choose synchronous processing when the caller genuinely needs the final result immediately. For long-running, high-volume, or outage-tolerant workflows I prefer durable asynchronous messaging, and I design consumers assuming duplicate delivery is possible—so idempotency, ordering, retries, replay, and DLQ handling are part of the design.”

Next, Module 11 should be Salesforce Bulk processing and Mule Batch Jobs: when to use ordinary connector operations versus Bulk API v2, chunking, job lifecycle, partial failures, batch aggregation, and designing a 100k–1M-record synchronization without destroying memory or Salesforce API limits.