[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f2n9x8snpb8tym":3},{"code":4,"message":5,"data":6,"timestamp":42},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":22,"summary_md":23,"topic":24,"github_topics":27,"license":32,"homepage":33,"updated_at":34,"history":35},"apache\u002Fkafka",16,"Apache Kafka - A distributed event streaming platform","Java",34115,15624,9,5549,[16],{"id":17,"title":18,"points":19,"comments":20,"posted_at":21},30073298,"Apache Kafka",1,0,"2022-01-25","A distributed event streaming platform for moving and retaining high-volume event data between services.","Apache Kafka is worth considering when your problem is not \"store this table\" but \"move a continuous stream of events between many producers and consumers without losing the plot.\" It is a mature, heavyweight system, so the realistic question is whether you need a log-based broker at all.\n\n## The problem\n\nPicture a system where order events, click events and inventory changes each arrive continuously and need to reach several downstream services: a search index, a fraud check, a data warehouse. Point-to-point calls or queue-per-consumer setups force you to duplicate data, coordinate retries and decide what happens when a consumer falls behind. With Kafka, producers append records to topics, consumers read at their own pace, and the log retains records so a late or restarted consumer can catch up. The practical result is decoupling: producers do not need to know who reads their data, and consumers can be added without changing the producers.\n\n## What's different\n\nThe core mechanism is a partitioned, replicated commit log. Ordering is preserved within a partition, and parallelism comes from spreading partitions across consumers in a group. Retention is a first-class setting rather than an afterthought, so replay and backfill are part of the normal workflow instead of an emergency. The trade-off is operational weight: partitions, replication, consumer groups and rebalancing all become concepts you must understand, and a topic design that ignores key distribution will produce hot partitions and uneven consumer load. Kafka is also not a database: it is not the place to run ad-hoc queries over history.\n\n## Who should try it\n\nA good fit is a team building event-driven backends or data pipelines where several independent consumers need the same stream, and where replay or ordered processing matters. It also fits organizations already running Kafka-compatible infrastructure. A poor fit is a small project that just needs a task queue between two services: a simpler broker or database-backed queue will cost less to operate. Teams without Java tooling or platform capacity should note that the documented build path assumes Java and Gradle, though the [quickstart](https:\u002F\u002Fkafka.apache.org\u002Fquickstart) is the more relevant entry point for running a cluster.\n\n## Requirements and limitations\n\nThe README sets clear build constraints: Java 17 and 25 are used for building and testing, client and Streams modules target Java 11, the rest target 17, and Scala 2.13 is the only supported Scala version. That matters if your organization still standardizes on older JDKs or Scala 2.12. Running a cluster is a separate concern from building JARs; the repository's build instructions cover artifacts, tests and publishing, not cluster sizing or operational procedures.\n\nThe ongoing cost is conceptual and operational: you must plan partitions, replication, consumer group behavior and retention. These are design decisions with consequences for throughput and recovery, and they are not resolved by the build commands.\n\n## HotRepo's take\n\nHotRepo recorded 34,114 stars on 2026-10-24 and 34,115 on 2026-10-25, a two-day sample with no earlier tracked history. That is enough to confirm the project is very old and widely starred, but it says nothing about whether interest is rising or fading. The decision should rest on your architecture: if you need a durable, replayable event backbone with multiple independent consumers, Kafka is a reasonable default to evaluate; verify the documented Java and Scala compatibility against your toolchain before committing.",{"slug":25,"name":26},"data","Data",[28,29,30,31],"java","kafka","scala","streaming","Apache-2.0","https:\u002F\u002Fkafka.apache.org\u002F","2026-10-25T03:20:16Z",[36,40],{"date":37,"stars":38,"stars_gained":39},"2026-10-24",34114,10,{"date":41,"stars":11,"stars_gained":13},"2026-10-25",1792909395]