kafka拥有与其他几个消息队列同样的本事:
①缓冲/削峰:控制和优化数据经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况。
应用场景:双十一秒杀活动,将用户消息写入消息队列中,我们的服务再来进行慢慢处理,这样也不会将我们的服务进行压垮,对于三高系统的来说一般都会采用这种消息中间件。
例如,有两亿人在双11秒杀活动的时候进行秒杀商品,但是我们的秒杀服务每秒只能处理一千万人的请求,瞬间的大量请求会将我们的服务器压垮,这时候如果在中间加一个消息队列,将用户的请求进行写入先存着。然后我们的秒杀服务再来慢慢进行处理,这是非常好的一种处理方式。
②解耦
我们可以独立的扩展或者修改两边的处理过程,只需要遵守接口的约束。如果没有消息队列这种产品,那么会非常的混乱。
③异步通信
可以允许用户将消息放入消息队列当中,但是不立即进行处理,然后在需要的时候再去处理他们。像这里的核心任务就是登录注册,不怎么重要的就是发短信,这个可以交给消息队列来进行处理。