简单说明什么是kafka
Apache kafka是消息中间件的一种,消息中间件是什么,做一下粗略的讲解,目前Kafka可以做更多的事情。
举个例子,生产者消费者,生产者生产鸡蛋,消费者消费鸡蛋,生产者生产一个鸡蛋,消费者就消费一个鸡蛋,假设消费者消费鸡蛋的时候噎着了(系统宕机了),生产者还在生产鸡蛋,那新生产的鸡蛋就丢失了。再比如生产者很强劲(大交易量的情况),生产者1秒钟生产100个鸡蛋,消费者1秒钟只能吃50个鸡蛋,那要不了一会,消费者就吃不消了(消息堵塞,最终导致系统超时),消费者拒绝再吃了,“鸡蛋”又丢失了,这个时候我们放个篮子在他们中间,生产出来的鸡蛋其实就是“数据流”,系统之间的交互都是通过“数据流”来传输的(就是tcp/http什么的)也称为报文,也叫“消息”。
消息队列满了,其实就是篮子满了,“鸡蛋”放不下了,那赶紧多放几个篮子,其实就是kafka的扩容。
现在清楚kafka是干什么的了把,他就是那个“篮子”。
kafka是什么
Apache kafka官方定义kafka是一个分布式流式计算平台。而在大部分企业开发人员中,都是把kafka当成消息系统使用,即它是一个分布式消息队列,很少会使用kafka的流式计算。四个关键的概念:
kafka名词解释
后面大家会看到一些关于kafka的名词,比如 topic/producer/consumer/broker,这边来简单说明一下。
-
producer: