乍一看似乎觉得作者小题大做了,心里一想,纵横java届数十载,什么大风大浪没见过,这噱头,赤裸裸的鄙视!废话不说,先从奔溃的边缘开始
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.
中文意思是:Kafka用于构建实时数据管道和流式应用程序。它具有水平可扩展性,容错性,速度极快,并在数千家公司投入生产。
其实简单点说,消息中间件,MQ(Message Queue,消息队列)大家应该有所了解,现在是比较主流的消息中间件,可以横向扩展、高可靠,而且还变态快
大致的意思就是,这是一个实时数据处理系统,可以横向扩展、高可靠,而且还变态快,已经被很多公司使用。
消息中间件应用场景
消息中间件的作用主要有两点:
- 解耦生产者和消费者。
- 缓冲。
四种应用场景:
- 异步处理
- 应用解耦
- 流量削锋
- 消息通讯
想象一个场景,你的一个创建订单的操作,在订单创建完成之后,需要触发一系列其他的操作,比如进行用户订单数据的统计、给用户发送短信、给用户发送邮件等等,就像这样:
createOrder(...){
...
statOrderData(...);
sendSMS();
sendEmail();
}
代码这样写似乎没什么问题,可是过了一段时间,你给系统引进了一个用户行为分析服务,它也需要在订单创建完成之后&#