主题 + 客户端
-
发布订阅的对象是主题(Topic)
-
向主题发布消息的客户端应用程序称为生产者(Producer),生产者可以持续不断地向多个主题发送消息
-
订阅这些主题消息的客户端应用程序称为消费者(Consumer),消费者能够同时订阅多个主题的消息
-
生产者和消费者统称为客户端
服务端
-
Kafka的服务端由被称为Broker的服务进程构成,一个Kafka集群由多个Broker组成
-
Broker负责接收和处理客户端发送过来的请求,以及对消息进行持久化
-
多个Broker进程能够运行在同一台机器上,但更常见的做法是将不同的Broker分散运行在不同的机器上
- 这样如果集群中某一台机器宕机了,即使在它上面运行的所有Broker进程都挂掉了
- 其他机器上的Broker也依然能够对外提供服务,这是Kafka提供高可用的手段之一
备份
-
实现高可用的另一个手段是备份机制(Replication)