当前位置: 首页 > 编程笔记 >

nginx 如何实现读写限流的方法

梁丘烨
2023-03-14
本文向大家介绍nginx 如何实现读写限流的方法,包括了nginx 如何实现读写限流的方法的使用技巧和注意事项,需要的朋友参考一下

nginx 读写限流

前段时间,开发了一个供外部调用的api,领导说要限流,请求单个IP,每秒50读次,写10次

万能的nginx,几行配置搞定

# 先定义好规则,需要写在server外面
limit_req_zone $binary_remote_addr $uri zone=api_write:20m rate=10r/s; # 写
limit_req_zone $binary_remote_addr $uri zone=api_read:20m rate=50r/s;  # 读

# 把需要限速的接口应用上上面的规则

# 写10/秒
location = /api/v1/trade {
  limit_req zone=api_write burst=10;
  proxy_pass http://api_server;
}
# 查询50/秒
location /api/v1/query {
  limit_req zone=api_read burst=50;
  proxy_pass http://api_server;
}

nginx -s reload

还是那句话,应用程序不需要关心,一句代码都不用动

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 本文向大家介绍nginx限流方案的实现(三种方式),包括了nginx限流方案的实现(三种方式)的使用技巧和注意事项,需要的朋友参考一下 通过查看nginx官方文档,小弟查看到了三种nginx限流方式。 1、limit_conn_zone 2、limit_req_zone 3、ngx_http_upstream_module 前两种只能对客户端(即单一ip限流),并且文档也很全,但是经过测试发现,还

  • 本文向大家介绍使用nginx实现分布式限流的方法,包括了使用nginx实现分布式限流的方法的使用技巧和注意事项,需要的朋友参考一下 1.前言 一般对外暴露的系统,在促销或者黑客攻击时会涌来大量的请求,为了保护系统不被瞬间到来的高并发流量给打垮, 就需要限流 . 本文主要阐述如何用nginx 来实现限流. 听说 Hystrix 也可以, 各位有兴趣可以去研究哈 . 2.首先部署一个对外暴露接口的程序

  • 问题内容: 我想将数据从亚马逊运动流传输到S3日志或Bunyan日志。 该示例适用于文件写入流或stdout。我如何才能体现自己的可写流? 表示没有“打开”方法是行不通的 我必须为自己的自定义可写流实现哪些方法,文档似乎表明我需要实现“写”而不是“开” 问题答案: 要创建自己的可写流,您有三种可能。 为此,您需要1)扩展Writable类2)在您自己的构造函数中调用Writable构造函数3)在流

  • 本文向大家介绍C#实现redis读写的方法,包括了C#实现redis读写的方法的使用技巧和注意事项,需要的朋友参考一下 最近做一个C#项目,需要对radis进行读写。 首先引入System.Configuration,如下 实现代码如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 前言 我们都知道当单库系统遇到性能瓶颈时,读写分离是首要优化手段之一。因为绝大多数系统读的比例远高于写的比例,并且大量耗时的读操作容易引起锁表导致无发写入数据,这时读写分离就更加重要了。 EF Core如何通过代码实现读写分离,我们可以搜索到很多案例。总结起来一种方法是注册一个DbContextFactory,读操作注入ReadDcontext,写操作注入WriteDbcontext;另外一种是动

  • 本文向大家介绍Python 串口读写的实现方法,包括了Python 串口读写的实现方法的使用技巧和注意事项,需要的朋友参考一下 1.安装pyserial https://pypi.python.org/pypi/pyserial Doc:http://pythonhosted.org/pyserial/ 使用Python Package Index (PyPi) 2. Demo 3.结果 以上这篇