💡
原文英文,约600词,阅读约需2分钟。
📝
内容提要
Uber工程团队推出了uForwarder,这是一个开源的Apache Kafka推送代理,旨在提升高吞吐量事件流的可扩展性和效率。uForwarder简化了消费者逻辑,集中管理偏移量,隔离工作负载,并提供内置延迟处理,解决了Uber内部Kafka部署的多个挑战,成为主要的Kafka消费者选项,提升了资源利用率和性能一致性。
🎯
关键要点
- Uber工程团队推出了uForwarder,这是一个开源的Apache Kafka推送代理,旨在提升高吞吐量事件流的可扩展性和效率。
- uForwarder作为Kafka与消费者服务之间的中间层,简化了消费者逻辑,集中管理偏移量,隔离工作负载,并提供内置延迟处理。
- uForwarder的需求源于Uber内部Kafka部署,支持超过1000个下游消费者服务,每天处理数万亿条消息和多个PB的数据。
- 标准Kafka消费者组在大规模下存在局限性,包括分区管理复杂性和服务间不一致的语言支持。
- uForwarder引入上下文感知路由,改善工作负载隔离和交付精度,减少不必要的流量。
- 出错的消息被重定向到死信队列,避免了头部阻塞,并保持分区间的一致吞吐量。
- 消费者自动重平衡器根据实时指标重新分配分区,以高效平衡负载,改善资源利用率和性能一致性。
- DelayProcessManager允许对分区级别的暂停和恢复控制,减少全局慢速现象,简化服务中的延迟处理。
- uForwarder已成为Uber内部主要的Kafka消费者选项,并作为开源项目在GitHub上发布,团队正在扩展队列容量并解决延迟问题。
🏷️
标签
➡️