在过去的几年中,Apache Kafka 的功能和覆盖范围已经有了很大的提高。500强公司中有三分之一在使用 Kafka,包括全球 Top10 银行中的7家、Top10 保险公司中的8家、美国 Top10 电信公司中的9家。
首先我们看一下 Kafka 提供的2个核心功能:
消息被广泛用于2中方式:
队列的消费者是一个worker组,每条消息只被其中的一个worker处理,高效的分摊了工作。队列非常适合容错和缩放。
订阅者彼此独立,每个订阅者都会拿到每一条消息,就像一个广播系统。
发布/订阅模式方便我们对系统进行解耦。
有了一个健壮、可扩展的消息系统,如果能方便的对消息数据流进行处理就更好了。Kafka 的 Stream API正是提供了这个功能,它是一个 Java 客户端库,提供了比 producer 和 consumer 更高级别的抽象。
Stream API 可以轻松实现:
从输入流读取文本,对每个单词进行计数,然后把计数结果写到输出流
翻译整理自
https://medium.freecodecamp.org/how-to-know-if-apache-kafka-is-right-for-you-1b2e468d52b9