Kafka简明教程
Kafka是啥?用Kafka官方的话来说就是:
Kafka is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies.
大致的意思就是,这是一个实时数据处理系统,可以横向扩展、高可靠,而且还变态快,已经被很多公司使用。
那么什么是实时数据处理系统呢?顾名思义,实时数据处理系统就是数据一旦产生,就要能快速进行处理的系统。
对于实时数据处理,我们常见的,就是消息中间件了,也叫MQ(Message Queue,消息队列),也有叫Message Broker的。
这篇文章,我将从消息中间件的角度,带大家看看Kafka的内部结构,看看它是如何做到横向扩展、高可靠的同时,还能变态快的。
为什么需要消息中间件
消息中间件的作用主要有两点:
- 解耦消息的生产和消费。
- 缓冲。
想象一个场景,你的一个创建订单的操作,在订单创建完成之后,需要触发一系列其他的操作,比如进行用户订单数据的统计、给用户发送短信、给用户发送邮件等等,就像这样:
createOrder(...){
...
statOrderData(...);
sendSMS();
sendEmail();
}
相关文章