参考答案
Kafka的作用:
1. 缓冲和削峰
- 上游数据时有突发流量,下游可能扛不住,或者下游没有足够多的机器来保证冗余,kafka在中间可以起到一个缓冲的作用,把消息暂存在kafka中,下游服务就可以按照自己的节奏进行慢慢处理。
2. 解耦和扩展性
- 项目开始的时候,并不能确定具体需求。消息队列可以作为一个接口层,解耦重要的业务流程。只需要遵守约定,针对数据编程即可获取扩展能力。
3. 冗余
- 可以采用一对多的方式,一个生产者发布消息,可以被多个订阅topic的服务消费到,供多个毫无关联的业务使用。
4. 健壮性
- 消息队列可以堆积请求,所以消费端业务即使短时间死掉,也不会影响主要业务的正常进行。
5. 异步通信
- 很多时候,用户不想也不需要立即处理消息。
- 消息队列提供了异步处理机制,允许用户把一个消息放入队列,但并不立即处理它。
- 想向队列中放入多少消息就放多少,然后在需要的时候再去处理它们。
以上,是 Kafka 面试题【为什么要使用 kafka】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—