1、kafka概述
一、关于消息队列 消息队列是一种应用间的通信方式,消息就是是指在应用之间传送的数据,它也是进程通信的一种重要的方式。 1.消息队列的基本架构 producer:消息生产者。 broker:消息处理中心。 consumer:消息消费者 2.消息队列常用场景 系统之间的解耦。 高并发下的流量消峰(电商抢购活动)。 异步通信(串行变并行)。 3.消息队列的特点 基本上都基于生产者消费者模式。 必须保证数据的可靠性传输。 4、点对点消息系统 在点对点系统中,消息被保留在队列中。 一个或多个消费者可以消耗队列中的消息,但是特定消息只能由最多一个消费者消费。 一旦消费者读取队列中的消息,它就从 该队列中消失。 5、发布 - 订阅消息系统 在发布 - 订阅系统中,消息被保留在主题中。 与点对点系统不同,消费者可以订阅一个或多个主题并使用该主题中的所有消息。 6、为什么需要消息队列 1、解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。 2、冗余 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前, 需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。 3、扩展性 因为消息队列解耦了你的处理过程