The Hazelcast and Apache Kafka® Transaction Processing Reference Architecture


Most computerized systems today follow a “request-response” pattern where an end client (either a human end user or another software application) submits a request to a remote system, which then runs a task that results in a response. Popular examples of this type of interaction include e-commerce purchases, lookups in a corporate application, or even the swipe of a credit card. We can broadly refer to these interactions as “transactions.” In this context, a transaction is simply a 1-to-1 exchange of information. These transactions are not necessarily financially based, nor are they necessarily associated with the transactions that make up the operations of a relational database management system (RDBMS). What we are referring to in this paper is simply about receiving a request from the client, running a computation on that request, and then returning an output back to the client.

Oftentimes in today’s digital and high-tech world, these transactions involve RDBMSs, or more generally, with systems that store data. These systems typically store data to disk drives or solid-state drives (SSDs), which represent a bottleneck in the throughput of the transaction. And as the volume of transactions grows, the impact of the bottleneck gets more pronounced.

Please fill this form below to download the Whitepaper