原文地址:https://kafka.apache.org/0101/documentation.html#majordesignelements
我们设计的 Kafka 能够作为统一的平台来处理大型公司可能拥有的所有实时数据。 为了做到这一点,我们不得不考虑一个相当广泛的用例。
它必须具有高吞吐量来支持大量事件流,例如实时日志聚合。
它需要通过大量数据积压来处理,以便能够支持从离线系统定期进行数据加载。
系统必须有比较低的延迟分发机制,才能支持传统的消息系统的使用。
我们希望能够支持可分区的,分布式的,实时的数据反馈处理,并创建和分发新的反馈。 这激励了我们的分区和消费者模式。
最后,如果流是反馈给其他系统的,系统需要能在机器宕机的时候提供容错保障。
为了支持这些使用情景,我们需要设计一个更类似于数据库日志系统,而不是传统的消息系统那样,具有更多独特特性的系统。