Preamble: Don't compare Kafka 1:1 with RMQ/AMQ/.... It will lead to frustration. Kafka offloads a lot of hard work to its clients, which is pretty much the main reason for the fact that it scales better than any "old school" message broker. But it does mean that you have to read up, understand how Kafka works (at a pretty low level), and make technical decisions on how to work _with_ Kafka for _your_ system. It's not "apt-get install broker", pull in a client library, and be happy.
Message ordering: messages are delivered in order per partition. If you need global ordering, you can always fall back to one partition. Transactions: absent. If you play by the rules, at-least-once delivery is guaranteed, nothing more. Hub/Spoke: There's functionality to mirror one cluster to another. We have clusters spanning DCs which (for our use case) works fine. Producer: I don't see how this is different from RabbitMQ? If you have in-flight, in-memory messages in the producer and you crash, you lose messages. Tools: we use kafka-manager for extra insights, but mostly rely on sending lots of data to our metrics system :-) Consumer: yup. Given proper tuning, shouldn't be a problem though. On Mon, Mar 21, 2016 at 4:40 PM, Durga Deep Tirunagari <[email protected]> wrote: > Folks, > > We're planning on exploring Kafka for our latest work - we are > currently on RabbitMQ. Apologies if this has been already answered. > > Question # 1) RMQ offers the Message ordering guarantee, from my initial > read about Kafka - it does seem like a Topic is divided in to Partitions > and any data published to this queue - is distributed among these > partitions based on a certain algorithm. > > if there are multiple consumers ( Consumer Group ) consuming from these > partitions how can we ensure that the messages are read in the correct > sequence ? like the RMQ way. > > Question # 2) RMQ has semantics of transactions - what is it equivalent in > Kafka. > > Question # 3) We use RMQ Federation / Shovelling to communicate across Data > centers in a Hub and Spoke architecture - are there some thing similar in > Kafka.?. > > Question # 4) I was reading about Kafka producer - where the crash of the > producer leads to loss of messages - any advice (or) best practice on how > to solve this. ?. > > Question # 5) Are there are any open source tools / best practices - > recommended for Kafka performance monitoring tools in case of production > issues. > > Question # 6) Kafka consumer is more of a Pull Model - this can cause busy > wait for us - any better ways to fix this. > > Thanks a bunch > _DD > -- *Cees de Groot* PRINCIPAL SOFTWARE ENGINEER [image: PagerDuty logo] <http://pagerduty.com/> pagerduty.com [email protected] <[email protected]> +1(416)435-4085 [image: Twitter] <http://twitter.com/pagerduty>[image: FaceBook] <https://www.facebook.com/PagerDuty>[image: Google+] <https://plus.google.com/114339089137644062989>[image: LinkedIn] <https://www.linkedin.com/company/pagerduty>[image: Blog] <https://blog.pagerduty.com/>
