【消息队列-Kafka】

输入url的过程?
调用接口的过程?

怎么理解消息队列

消息队列可以简单地理解为一个暂时存放消息的容器,作为平衡低速系统和高速系统处理任务时间差的工具。当需要使用消息的时候,直接从容器中取出消息供自己使用。队列是一种先进先出的数据结构,所以消费消息时也是按照顺序来消费的。

消息队列有哪些场景可用?为什么要用消息队列?

使用消息队列的好处

使用消息队列主要是为了通过异步处理提高系统性能(减少响应所需要的时间)和削峰、降低系统的耦合性

好处展开

  1. 通过异步处理提高系统性能(减少响应所需要的时间)

    可以设想一个场景,在使用消息队列之前,客户端向服务器发送请求,服务器进行后续的业务校验、写数据库等操作的过程中客户端需要一直等待,直到数据库返回结果,客户端才会接收响应。在使用消息队列之后,将用户的请求数据存储到消息队列之后就立即返回结果(如“订单等待提交”),类似我们平时手机订火车票和电影票。

  2. 削峰/限流

    场景:双十一促销,因为流量突然过大导致应用挂掉。应对的是短时间内的暴增流量

    传统方法是限制用户的数量,现在考虑使用消息队列,消息队列只用来接收用户的请求并堆积,由业务系统慢慢从消息队列中拉取请求并处理,减缓数据库的访问压力

    假如消息队列长度超过最大数量,则直接抛弃用户请求或跳转到错误页面

  3. 降低系统耦合性
    模块之间不存在直接调用,那么新增模块或者修改模块就对其他模块影响较小,这样系统的可扩展性更好

    消息发送者将消息发送至分布式消息队列即结束对消息的处理,消息接受者从分布式消息队列获取该消息后进行后续处理

    新增业务,只要对该类消息感兴趣,即可订阅该消息,对原有系统和业务没有任何影响,从而实现网站业务的可扩展性设计

Kafka相关内容整理

https://javaguide.cn/high-performance/message-queue/kafka-questions-01.html#kafka-是什么-主要应用场景有哪些

posted @   tootooquan  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示