异步通信:原理、Kafka 应用与最佳实践
1. 异步通信基础与发布 - 订阅模型
在系统中,当消息需要被多个组件处理时,发布 - 订阅模型为数据的发送和传递提供了灵活的解决方案。每个发布者可以发布消息,而无需关心传递过程以及将消息传递给任意数量(甚至是非常多)的接收者时可能遇到的困难。每个订阅者可以订阅相关消息,并在无需直接联系发布者和检查是否有新数据可供消费的情况下接收消息。这种特性在消息速率较低的场景中特别有用,例如偶尔的通知传递。
2. Apache Kafka 简介
Apache Kafka 是一个开源的消息代理系统,最初由 LinkedIn 开发,现在已成为最受欢迎的开源消息代理软件之一,被全球数千家公司使用。在 Kafka 模型中,发布消息的组件称为生产者,消息按顺序发布到称为主题(topic)的对象中。每个主题中的消息都有一个唯一的数字偏移量。Kafka 为现有主题提供了消费消息的 API,消费消息的组件称为消费者。主题还可以进行分区,以允许多个消费者并行消费(例如,用于并行数据处理)。
Kafka 具有以下优点:
- 高读写吞吐量 :Kafka 针对高性能的读写操作进行了优化,通过尽可能多地进行顺序读写,能够高效利用硬盘等硬件,并在网络上顺序发送大量数据。
- 可扩展性 :开发者可以利用 Kafka 提供的主题分区功能,实现更高效的数据并行处理。
- 灵活的持久性 :Kafka 允许用户配置数据存储策略,如消息保留。消息可以存储固定的时间(例如 7 天),或者在数据存储有足够空间之前无限期存储。
超级会员免费看
订阅专栏 解锁全文
554

被折叠的 条评论
为什么被折叠?



