Comments by "Megakoresh" (@gigakoresh) on "ByteByteGo" channel.

  1. 18
  2. 16
  3. 7
  4. 4
  5. 4
  6. 3
  7. 3
  8. 1
  9. 1
  10. Kafka is way overkill for that. Learned that the hard way. Only makes sense if you already have to maintain a kafka cluster or buy it as a service for something actually data-intensive. Even then, by itself Kafka is a huge pain the ass to configure and maintain. You need a management system on top of it like Confluent or Aiven, if you dont want to fiddle with its terrible CLI tools and build ACLs all day. And those cost an arm and a leg. Also Kafka rarely breaks, but when it does, it's a catastrophe. There is no good way to quickly and automatically recover a broken cluster, and it's very easy to fuck up. I can give you one example - we used a 3-DC cluster where all communication between clients as well as brokers to each other was handled by IP lists. DNS was never used. Then at some point the DNS proxy we used got busted and cluster ended up in split brain state. It was completely incomprehensible why. We had to do network packet monitoring, when we found out that even though the broker didn't use a DNS, it still had a call stack failing silently when contacting brokers on outgoing calls. So all messages coming to the broker were going fine, but all messages going out were failing after a failed DNS lookup for... something that the broker wasn't even gonna use! So other brokers thought the broker was alive and well, and the broken broker thought it was broke (i mean alone, sorry, couldn't resist), constantly trying to assign itself master since it thought the rest of the cluster was dead. Took a whole day to fix and you can imagine the damage since the whole cluster was affected... And this is far from the only example. My experience with Kafka is actually that it's distributed nature is a tool for scalability, not reliability. As far as reliability goes, it does the opposite, each new broker adds more ways for the whole cluster to break. So yeah, Kafka is powerful, about as much as a bulldozer is powerful. If you only want go to shop and back, maybe just take a regular car instead.
    1
  11. 1
  12. 1