php系统设计目标,[Kafka]Kafka主要设计目标及基本概念

Kafka是基于消息发布-订阅模式实现的消息系统,主要设计目标如下

消息持久化:以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上的数据也能保证常数时间复杂度的访问性能。

高吞吐:在廉价的商用机器上也能支持单机每秒10万条以上的吞吐量。

分布式:支持消息分区以及分布式消费,并保证分区内的消息顺序。

跨平台:支持不同技术平台的客户端(如Java、PHP、Python等)。

实时性:支持实时数据处理和离线数据处理。

伸缩性:支持水平扩展。

基本概念Broker

Kafka集群包含一个或多个服务器,这些服务器被称为Broker。Topic

逻辑上通RabbitMQ的Queue队列相似,每条发布到Kafka集群的消息都必须有一个topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个Broker上,但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处。)Partition

Partition是物理概念上的分区,为了提供系统吞吐率,在物理上每个Topic会分成一个或多个Partition,每个Partition对应一个文件夹(存储对应分区的消息内容和索引文件)。Producer

消息生产者,负责生产消息并发送到Kafka Broker。Consumer

消息消费者,向Kafka Broker读取消息并处理的客户端。Consumer Group

每个Consumer属于一个特定的组(可为每个Consumer指定属于一个组,若不指定则属于默认组),组可以用来实现一条消息被组内多个成员消费等功能。

------摘至《Spring Cloud微服务实战》崔永超·著,第九章。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值