![]() Do you need Pub/Sub or Push/Pull? Is queuing of messages enough or would you need querying or filtering of messages before consumption? Also, someone would have to manage these brokers (unless using managed, cloud provider based solution), automate their deployment, someone would need to take care of backups, clustering if needed, disaster recovery, etc. Why are you considering event-sourcing architecture using Message Brokers such as the above? Won't a simple REST service based arch suffice? Read about CQRS and the problems it entails (state vs command impedance for example). I think something is missing here and you should consider answering it to yourself. Kafka has a broader approval, being mentioned in 509 company stacks & 470 developers stacks compared to Cassandra, which is listed in 342 company stacks and 240 developer stacks. ![]() Uber Technologies, Spotify, and Slack are some of the popular companies that use Kafka, whereas Cassandra is used by Uber Technologies, Facebook, and Spotify. ![]() Kafka with 12.7K GitHub stars and 6.81K forks on GitHub appears to be more popular than Cassandra with 5.27K GitHub stars and 2.35K GitHub forks. "Distributed", "High performance" and "High availability" are the key factors why developers consider Cassandra whereas "High-throughput", "Distributed" and "Scalable" are the primary reasons why Kafka is favored.Ĭassandra and Kafka are both open source tools. It provides the functionality of a messaging system, but with a unique design.Ĭassandra belongs to "Databases" category of the tech stack, while Kafka can be primarily classified under "Message Queue". Kafka is a distributed, partitioned, replicated commit log service. The Cassandra Query Language (CQL) is a close relative of SQL Kafka: Distributed, fault tolerant, high throughput pub-sub messaging system. Row store means that like relational databases, Cassandra organizes data by rows and columns. Cassandra will automatically repartition as machines are added and removed from the cluster. Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Rows are organized into tables with a required primary key. Cassandra vs Kafka: What are the differences?Ĭassandra: A partitioned row store.
0 Comments
Leave a Reply. |