Tag Event Sourcing

Designing an Exchange Matching Engine

A system-design perspective on ultra-low-latency order matching, price-time priority, partitioning, market data, and correctness An exchange matching engine sits at one of the most unforgiving boundaries in financial technology. It receives orders from market participants, validates them, places them into…

When Kafka Became a Second Database

We originally introduced Kafka for a simple reason. We needed asynchronous communication. A service would publish an event. Another service would consume it. The producer didn’t need to wait. The consumer could process the event independently. It looked straightforward. Kafka…

When Events Became the Backbone of the System

The system was becoming increasingly difficult to change. Every time we added a new capability, another service needed to know about it. A payment completed. The ledger needed to update. Notifications needed to be sent. Fraud analytics needed the transaction.…