Ruankao System Architect (Senior) study materials
Ruankao System Architect (Senior) study resources

Ruankao System Architect (Senior): Middleware, distributed transactions and architecture evaluation

Ruankao System Architect (Senior) · Work through your exam, one topic at a time.

All guide sections

Middleware, distributed transactions and architecture evaluation

Start from contracts and failure assumptions

Middleware supplies reusable capabilities between applications and underlying resources. Message brokers, transaction coordinators, service gateways, naming systems and integration adapters serve different purposes. Service-oriented architecture is a design approach, not a synonym for purchasing one enterprise service bus. An ESB can route or transform messages, while a service interface states the operations and data contract exposed to another component. A web API need not use SOAP, WSDL or a registry, and HTTP alone does not make an interface RESTful.

Delivery and consistency are end-to-end questions

A queue can decouple producer and consumer timing, but it creates questions about acknowledgment, redelivery, ordering, retention, poison messages and consumer ownership. In an at-least-once model a message may be processed more than once after failures; use a suitable idempotency key or transactional deduplication when duplicate side effects are unacceptable. A broker’s exactly-once claim does not automatically make a payment gateway or external email effect exactly once. State the boundary of the guarantee and the failure modes included.

A local ACID transaction protects its stated database boundary. When work spans independently managed services, a coordinator may use a supported distributed-transaction protocol, with blocking and availability implications, or the design may use a saga of local transactions and compensating actions. Compensation is a business action, not time travel: refunding an accepted payment is different from pretending no payment happened. The outbox pattern can couple a local state change with a durable publication record, while the relay and consumers still need retry and duplicate-handling rules. Eventual consistency requires a plan for convergence and user-visible intermediate states; it does not mean that correctness is optional.

Evaluate qualities with evidence

A cache can reduce repeated work but introduces invalidation and freshness trade-offs. Replicas can have lag; a load balancer can distribute requests but cannot repair inconsistent application state. Circuit breakers, timeouts and bounded retries can reduce cascading failures when selected for the actual dependency. Unbounded retries can amplify overload, and timeout does not prove that a remote side effect failed. Correlate operations with identifiers and collect logs, metrics and traces appropriate to the question, without exposing secrets.

Compare architectural alternatives using observable quality scenarios, constraints and risks. Layered, event-driven, modular-monolith and microservice designs have different deployment and coordination costs. No style guarantees scalability or maintainability by name alone. A proof of concept should investigate the uncertain mechanism, and a review should document assumptions, trade-offs and unresolved risks. The text develops conceptual architecture judgment; it does not certify implementation skill or claim that one product supports every described protocol.