本文来说下有关kafka重要的知识与内容
概述
Kafka 是一个优秀的分布式消息中间件,许多系统中都会使用到 Kafka 来做消息通信。对分布式消息系统的了解和使用几乎成为一个后台开发人员必备的技能。今天就从常见的 Kafka 面试题入手,和大家聊聊 Kafka 的那些事儿。
讲一讲分布式消息中间件
问题
- 什么是分布式消息中间件?
- 消息中间件的作用是什么?
- 消息中间件的使用场景是什么?
- 消息中间件选型?
分布式消息是一种通信机制,和 RPC、HTTP、RMI 等不一样,消息中间件采用分布式中间代理的方式进行通信。如图所示,采用了消息中间件之后,上游业务系统发送消息,先存储在消息中间件,然后由消息中间件将消息分发到对应的业务模块应用(分布式生产者 - 消费者模式)。这种异步的方式,减少了服务之间的耦合程度。
定义消息中间件
定义消息中间件
- 利用高效可靠的消息传递机制进行平台无关的数据交流
- 基于数据通信,来进行分布式系统的集成
- 通过提供消息传递和消息排队模型,可以在分布式环境下扩展进程间的通信
消息中间件在系统中起的作用
在系统架构中引用额外的组件,必然提高系统的架构复杂度和运维的难度,那么在系统中使用分布式消息中间件有什么优势呢?消息中间件在系统中起的作用又是什么呢?
消息中间件在系统中起的作用
- 解耦
- 冗余(存储)
- 扩展性
- 削峰
- 可恢复性
- 顺序保证
- 缓冲
- 异步通信
几种分布式消息系统的对比
面试时,面试官经常会关心面试者对开源组件的选型能力,这既可以考验面试者知识的广度,也可以考验面试者对某类系统的知识的认识深度,而且也可以看出面试者对系统整体把握和系统架构设计的能力。开源分布式消息系统有很多,不同的消息系统的特性也不一样,选择怎样的消息系统,不仅需要对各消息系统有一定的了解,也需要对自身系统需求有清晰的认识。
下面是常见的几种分布式消息系统的对比:
答案关键字
答案关键字
- 什么是分布式消息中间件?通信,队列,分布式,生产消费者模式。
- 消息中间件的作用是什么?解耦、峰值处理、异步通信、缓冲。
- 消息中间件的使用场景是什么?异步通信,消息存储处理。
- 消息中间件选型?语言,协议、HA、数据可靠性、性能、事务、生态、简易、推拉模式。
|