请求限流(自用)

文章介绍了两种常见的限流算法——令牌桶和漏桶算法,以及它们如何用于保护系统免受过载。同时,概述了RabbitMQ的四种消息传递模式:简单模式、工作队列模式、发布/订阅模式以及路由模式和主题模式,展示了这些模式在消息处理中的不同应用场景。
摘要由CSDN通过智能技术生成

要实现对系统进入请求的限流,可以考虑使用令牌桶算法或漏桶算法。这两种算法都可以用来控制请求的速率,从而保护系统免受过载的影响。

令牌桶算法中,系统会以固定的速率往桶中放入令牌,每个令牌代表一个请求的处理权。当一个请求到达时,会尝试从桶中获取一个令牌,如果桶中没有令牌,则请求将被拒绝。如果桶中有令牌,则请求会被处理,并从桶中取走一个令牌。这样可以限制请求的速率,同时也可以处理突发流量,因为桶中可以保存一定数量的令牌。

漏桶算法中,系统会按照固定的速率从漏桶中流出请求,每个请求在流出之前需要等待一定的时间。当一个请求到达时,会被放入漏桶中,如果漏桶已满,则请求将被拒绝。这种算法可以保证请求的速率不会超过一个固定的值,同时也可以处理突发流量,因为漏桶中可以保存一定数量的请求。

关于rabbitmq的四种模式,简要介绍如下:

1. 简单模式(Simple mode):消息生产者将消息发送到一个队列中,消息消费者从队列中取出消息进行处理。这种模式下只有一个消息生产者和一个消息消费者。

2. 工作队列模式(Work queue mode):多个消息生产者将消息发送到一个队列中,多个消息消费者从队列中取出消息进行处理。消息消费者之间的负载均衡可以通过设置多个消费者实例来实现。

3. 发布/订阅模式(Fanout mode):消息生产者将消息发送到一个交换机(Exchange)中,交换机将消息发送到与之绑定的所有队列中。多个消息消费者分别从不同的队列中取出消息进行处理。

4. 路由模式(Routing mode)和主题模式(Topic mode):这两种模式都是基于路由键(Routing Key)的。消息生产者将消息发送到一个交换机中,并指定一个路由键,交换机根据路由键将消息发送到相应的队列中。消息消费者可以按照路由键的匹配规则来选择要消费的消息。在路由模式中,路由键只能是固定的字符串,在主题模式中,路由键可以使用通配符进行匹配。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值