Measure consumers still using a retired event shape
A producer deployment does not finish an event migration. Track who still depends on the old contract and whether historical recovery remains possible.
Read articleAI implementation, software architecture, cloud operations and Australian technology policy.
100 articles in Software architecture
Page 3 of 6
A producer deployment does not finish an event migration. Track who still depends on the old contract and whether historical recovery remains possible.
Read articleMeasure freshness and user-visible correctness alongside speed. A cache that repeatedly serves the wrong value can look excellent on a performance dashboard.
Read articleProgress counters can report success while conversions are incomplete or wrong. Use coverage, correctness and production impact as separate acceptance measures.
Read articleA rejected competing write may show that protection worked. Measure its user impact and recovery outcome without treating every conflict as an infrastructure incident.
Read articleFollow the business operation and its state change before assigning the incident. Technical layers can obscure which module owns the violated rule.
Read articleAn outbox row marked published does not prove the business effect completed. Trace the event through publication, delivery and consumer state before replaying it.
Read articleKeep the original operation identity while establishing what happened. A new key can turn recovery into a second business action.
Read articleA server can be healthy while one supported client is broken. Trace the failing contract and client behaviour before treating the incident as a general outage.
Read articleWhen a completed step cannot be undone, stop describing recovery as rollback. Establish the remaining business options and preserve the effects already known to exist.
Read articleContain further work, preserve the job's trusted context and identify every affected artifact. A wrong-tenant job can create consequences beyond its final response.
Read articleWhen records look plausible but are wrong, trace how the consumer interpreted the message. Successful deserialisation can hide a semantic change.
Read articleTrace one response through browser, edge and application layers before clearing everything. A broad purge can hide the cause and overload the source.
Read articleRepeatedly launching the same command can create more contention. Inspect the active database work and choose a controlled recovery action.
Read articleRetrying can recover one request, but repeated deadlocks need a clearer picture of which transactions acquire which resources.
Read articleA deployment split turns local dependencies into network and data contracts. Inspect those dependencies before moving a module into its own process.
Read articleDuring migration, old direct publishing and new outbox delivery can overlap. Define which path owns each committed change and make the transition observable.
Read articleNew callers can supply stable keys while older clients may retry without them. Define the transition behaviour explicitly instead of pretending every request is protected immediately.
Read articleSupporting old and new clients at once requires clear translation, data semantics and retirement ownership. Treat coexistence as an operating state, not a temporary omission in the design.
Read article