Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
完成第一章第一节“简介”的翻译
  • Loading branch information
diguage committed Oct 7, 2014
commit 021f6368311a472337ad4db4b06adfb88bea15b0
16 changes: 15 additions & 1 deletion index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ queuing | 排队
publish-subscribe | 发布-订阅
the consumer group | 消费者组
subscriber | 订阅者
guarantee | 保证


## 1. 入门
Expand Down Expand Up @@ -93,6 +94,19 @@ Kafka在这方面处理的更好。它在主题内使用分区,这个类似并

![Kafka集群内部结构](./images/consumer-groups.png)

Kafka仅提供了在一个分区的顺序,而不提供在一个主题的不同分区之间的顺序。
Kafka仅提供了在一个分区的顺序,而不提供在一个主题的不同分区之间的顺序。结合分区提供分区内的排序,对于大多数应用来说,已经足够用了。尽管如此,如果你确实需要针对一个主题所有消息的总排序,那么可以通过只使用一个分区来实现,这样也意味着只有一个消费者进程。

**保证(Guarantees)**

从一个高级视角来看,Kafka给出了如下几个保证:

* 由生产者发送到特定主题分区的消息以发送的顺序追加进来。就是说,如果消息`M1`和`M2`被同一个生产者发送出去,并且`M1`先被发送,那么`M1`将有一个比`M2`低的下标,并且更早出现在日志里。
* 消费者实例以在日志中存储的顺序来查看消息。
* 对于一个主题来说,如果复制因数是`N`,那么即使有`N-1`个服务器宕机,我们也可以保证不丢失任何已经提交到日志中的消息。

关于这些保证的更多细节,我们将在“设计”章节再做近一步的讨论。