Category
信頼性・非同期・リアルタイム処理の設計ガイド
分散システムの信頼性は「少なくとも1回」「順不同」「失敗する」を前提に設計してこそ守れます。Transactional Outboxで二重発行・取りこぼしを防ぎ、冪等な非同期処理でリトライを正常系にし、リアルタイム配信は要件で選ぶ——イベント駆動と非同期の回復性を扱います。
5 articles in total
Foundational guide
Foundational guide (start here)
The Transactional Outbox Pattern: Make the DB Update and Event Publishing Atomic, and Cut Off Lost Events and Double Publishing
An implementation guide to the transactional outbox pattern that solves the dual-write problem of distributed systems. Write to the outbox in the same transaction as the business update, publish reliably with a relay (polling/CDC), and make downstream idempotent. We explain ordering guarantees, at-least-once, and reconciliation in real code.
Related practical articles
- AWSSQSサーバーレス冪等性アーキテクチャ設計
Building Idempotent Async Processing with SQS + Lambda + EventBridge: Duplicate, Ordering, and DLQ Design on the At-Least-Once Premise
An implementation guide for designing AWS serverless, event-driven async processing (SQS+Lambda+EventBridge) at production quality. Explained with real code: idempotent consumers due to at-least-once delivery, visibility timeout, DLQ and reprocessing, FIFO ordering/deduplication, and partial batch failure (ReportBatchItemFailures).
25 min read - PythonCeleryRedis非同期処理タスクキュー
Celery + Redis Production-Operations Guide — Async Task Design Faithful to the Official Docs (Idempotency, Retries, Observability)
A practical guide to designing a production-grade async task queue with Celery 5.6 + Redis. Faithful to the official docs, it explains broker/backend configuration, the visibility_timeout traps, idempotency, autoretry, Beat periodic execution, Canvas workflows, prefetch tuning, observability, and security—with real code and 'when to use / when not to use' decision axes.
24 min read - アーキテクチャ設計TypeScriptAWSサーバーレスB2B SaaS
Designing Systems That Don't Fall Over When External Dependencies Do: A Retry, Exponential-Backoff + Jitter, and Circuit-Breaker Implementation Guide
A practical guide to building a 'system that doesn't fall over' against unreliable external APIs. From the great principle of retries (idempotency is the premise), exponential backoff + jitter, the timeout budget, the circuit breaker (closed/open/half-open), the bulkhead, to the trap of fallback—all explained in working TypeScript faithful to the AWS/Azure official docs.
28 min read - リアルタイムアーキテクチャ設計Next.jsTypeScriptパフォーマンス
Design Judgment for a Real-Time UI: Choosing WebSocket / SSE / Optimistic Update + Invalidation Correctly from the Requirements
A decision guide for choosing the implementation method of a real-time UI (WebSocket/SSE/polling/optimistic update + cache invalidation) from the requirements. The reason 'real-time ≠ WebSocket mandatory,' idempotent concurrent editing, SSE's wire format and implementation, and near-real-time design — explained with real code interweaving the MDN official spec and real-project judgments.
23 min read