Chapter 33: Further Reading

Event Sourcing and CQRS

1. Fowler, M. (2005). "Event Sourcing." martinfowler.com.

Martin Fowler's original articulation of event sourcing as an architectural pattern. Clearly explains the core idea of storing state as a sequence of events rather than a mutable record. Provides the conceptual foundation for Section 33.2 and includes discussion of when event sourcing is appropriate (and when it is not).

2. Young, G. (2010). "CQRS Documents." cqrs.files.wordpress.com.

Greg Young's foundational documents on Command Query Responsibility Segregation. These papers formalize the separation of read and write models, discuss eventual consistency trade-offs, and provide practical guidance on projection design. Young's work directly informs the CQRS architecture in Section 33.3.

3. Kleppmann, M. (2017). Designing Data-Intensive Applications. O'Reilly Media.

The definitive reference for modern data systems architecture. Chapter 11 on stream processing covers event sourcing at scale, including log compaction, exactly-once semantics, and integration with message brokers. Chapters on replication, partitioning, and consistency models are directly relevant to Sections 33.4 and 33.7.

Database and Storage

4. PostgreSQL Documentation. "Table Partitioning" and "Index Types."

The authoritative reference for the partitioning and indexing strategies described in Section 33.4. Particularly relevant are the sections on range partitioning (for time-series trade data), partial indexes (for filtering on order status), and GIN indexes (for full-text search on market questions).

5. Petrov, A. (2019). Database Internals: A Deep Dive into How Distributed Data Systems Work. O'Reilly Media.

For readers who want to understand why certain database optimizations work. Covers B-tree structure (explaining why index column order matters), WAL mechanics (explaining point-in-time recovery), and transaction isolation (explaining the consistency guarantees in Section 33.4).

Caching

6. Nishtala, R., et al. (2013). "Scaling Memcache at Facebook." Proceedings of the 10th USENIX Conference on Networked Systems Design and Implementation (NSDI).

Describes the multi-level caching architecture used by Facebook, which inspired the caching strategies in Section 33.5. Includes practical solutions for cache stampede prevention, lease-based invalidation, and cache warming. The scale (billions of requests per second) provides useful lessons even for smaller systems.

7. Redis Documentation. "Redis Data Types" and "Pub/Sub."

Redis serves as both the L2 cache and the pub/sub backbone for real-time price distribution in the architecture described in this chapter. The documentation on data structures (sorted sets for leaderboards, hash maps for market summaries) and pub/sub (for WebSocket price feeds) is essential reading.

Message Queues and Async Processing

8. Hohpe, G. & Woolf, B. (2003). Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley.

The classic reference for messaging patterns including priority queues, dead letter queues, message routing, and saga patterns. The "order processing pipeline" pattern in Section 33.6 draws directly from this book's message routing and content-based router patterns.

9. RabbitMQ Documentation. "Reliability Guide" and "High Availability."

Practical guidance on achieving exactly-once delivery, publisher confirms, consumer acknowledgments, and queue mirroring. These are the building blocks for the reliable message processing described in Section 33.6.

Horizontal Scaling and Load Balancing

10. Karger, D., et al. (1997). "Consistent Hashing and Random Trees." Proceedings of the 29th Annual ACM Symposium on Theory of Computing (STOC).

The foundational paper on consistent hashing, which is the algorithm used for matching engine shard routing in Section 33.7.3. Proves that consistent hashing minimizes key redistribution when nodes are added or removed, which is critical for zero-downtime shard rebalancing.

11. Burns, B. (2018). Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services. O'Reilly Media.

Covers the sidecar, ambassador, and adapter patterns used in containerized deployments. The auto-scaling policies and Kubernetes deployment patterns in Section 33.7 draw from these patterns. Includes specific guidance on health checks, readiness probes, and graceful shutdown.

Monitoring and Observability

12. Beyer, B., Jones, C., Petoff, J., & Murphy, N.R. (eds.) (2016). Site Reliability Engineering: How Google Runs Production Systems. O'Reilly Media.

Defines the SRE discipline that informs the monitoring approach in Section 33.8. Introduces the four golden signals (latency, traffic, errors, saturation), error budgets, SLOs/SLIs/SLAs, and the philosophy of alerting on symptoms rather than causes. Essential reading for anyone operating a production prediction market.

13. Prometheus Documentation. "Metric Types" and "Querying."

The practical reference for implementing the monitoring metrics described in Section 33.8. Covers counter vs. gauge vs. histogram semantics, label cardinality, PromQL query language, and alerting rules. The prediction-market-specific metrics (matching queue depth, order-to-trade latency) use Prometheus histograms.

Security

14. OWASP Foundation. "OWASP Top 10" and "Rate Limiting Cheat Sheet."

Standard references for web application security applicable to prediction market platforms. The rate limiting strategies in Section 33.9 follow OWASP recommendations, and the input validation rules for prices and quantities defend against common injection attacks.

Performance Testing

15. Molyneaux, I. (2014). The Art of Application Performance Testing (2nd ed.). O'Reilly Media.

Practical guide to load testing, stress testing, and capacity planning. The load testing methodology used in Case Study 1 (Election Night scaling) follows this book's approach of ramped testing, breakpoint identification, and bottleneck analysis. Includes guidance on realistic traffic generation for latency-sensitive applications like prediction markets.