BruceKafka 生产者守护进程

联合创作 · 2023-10-01 03:36

Bruce 是 Apache Kafka 的生产者守护进程,它简化了客户端发送消息到 Kafka ,无需关注后端的 Kafka 集群。Bruce 主要处理:

  • Routing messages to the proper brokers, and spreading the load evenly across multiple partitions for a given topic

  • Waiting for acknowledgements, and resending messages as necessary due to communication failures or Kafka-reported errors

  • Buffering messages to handle transient load spikes and Kafka-related problems

  • Tracking message discards when serious problems occur; Providing web-based discard reporting and status monitoring interfaces

  • Batching and compressing messages in a configurable manner for improved performance

Bruce runs on each individual host that communicates with Kafka, receiving messages from local clients over a UNIX domain datagram socket. Clients write messages to Bruce's socket in a simple binary format. Once a client has written a message, no further interaction with Bruce is required. From that point onward, Bruce takes full responsibility for reliable message delivery. Bruce serves as a single intake point for a Kafka cluster, receiving messages from diverse clients regardless of what programming language a client is written in. Client code is currently available in C, C++, Java, Python, and PHP. Code contributions for clients in other programming languages are much appreciated. Technical details on how to send messages to Bruce are provided here. Bruce runs on Linux, and has been tested on CentOS versions 7 and 6.5, and Ubuntu versions 14.04.1 LTS and 13.10. Bruce requires at least version 0.8 of Kafka.

浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报