Kafka 初识
1.Kafka 是什么? 用一句话概括一下: Apache Kafka 是一款开源的消息引擎系统。 倘若“消息引擎系统“这个词对你来说有点陌生的话,那么“消息队列“、“消息中间件”的提法想必你一定是有所耳闻的。不过说实话我更愿意使用消息引擎系统这个称谓,因为消息队列给出了一个很不明确的暗示,仿佛 Kafka 是利用队列的方式构建的;而消息中间件的提法有过度夸张“中间件”之嫌,让人搞不清楚这个中间件到底是做什么的。 像 Kafka 这一类的系统国外有专属的名字叫 Messaging System ,国内很多文献将其简单翻译成消息系统。我个人认为并不是很恰当,因为它片面强调了消息主体的作用,而忽视了这类系统引以为豪的消息传递属性,就像引擎一样,具备某种能量转换传输的能力,所以我觉得翻译成消息引擎反倒更加贴切。 2.这类系统是做什么用的? 先来个官方严肃版本的答案。 根据维基百科的定义:消息引擎系统是一组规范。企业利用这组规范在不同系统之间传递语义准确的消息,实现松耦合的异步式数据传递。 果然是官方定义,有板有眼。 如果觉得难于理解,那么可以试试我下面这个民间版: 系统 A 发送消息给消息引擎系统,系统 B 从消息引擎系统中读取 A 发送的消息。 最基础的消息引擎就是做这点事的! 不论是上面哪个版本,它们都提到了两个重要的事实: 消息引擎传输的对象是消息;