apache-kafkareal-timeavailability

kafka for real-time trading platform handling $mns of transactions per minute?


any folks familiar with both Kafka and real-time trade booking function of a bank? can u recommend kafka for 24/7 uptime, high durability, 10k msg per second, multi-region, unlimited data retention handling (source of truth) of a trading system that handles financial txns worth $billions a week ?


Solution

  • There are many banks and financial services known to be using Kafka, GS for ex. is one of them

    What do you mean by 24/7 uptime? If you meant 24/7 availability, yes. Kafka like many other distributed system offers replication to achieve this and with some care, it is possible to even withstand an entire datacenter downtime.

    Unlimited data retention is not configurable to my knowledge, but you could set log.retention.hours to a very high number. But message brokers are not necessarily best source of truth.

    Do you want to have random access to your data by key? Kafka is a poor choice. Do you have complex range queries? Same. But you can still use Kafka as your primary datastore and use a cache or indexed KV store as a secondary storage. So it really depends on your usecases, query patterns, how you are gonna replay the data on demand etc.

    Whether you want to use Kafka as a source of truth should be decided based on your overall architecture, not the other way around.