nginx 限流,以及nginx直接返回json格式数据
2019独角兽企业重金招聘Python工程师标准>>>
高并发系统有三把利器用来保护系统:缓存、降级和限流
今天我们这里说说限流。一般会在应用层配合redis做限流策略,这里我们聊聊nginx层限流。
限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务,以防止非预期的请求对系统压力过大而引起的系统瘫痪(友好点比如直接返回相应的json或则页面提示用户访问高峰,稍后再试)
限流一般有三种: 计数器 、漏桶算法、令牌桶算
关于限流算法不是本文讨论范围,定义网上有大把介绍
1.先说下nginx里面配置直接返回json如何操作。
location /json/ {default_type application/json;add_header Content-Type 'text/html; charset=utf-8';return 200 '{"code":"6666,"msg":"访问高峰期..."}';}
Nginx限流配置
#限流
limit_req_zone $binary_remote_addr zone=myRateLimit:10m rate=2r/s;location / { #限流limit_req zone=myRateLimit burst=2 nodelay;root html;index index.html index.htm;}
名词解释:
第1个参数:limit_req_zone定义在http块中,$binary_remote_addr表示保存客户端IP地址的二进制形式。
第2个参数:Zone定义IP状态及URL访问频率的共享内存区域。zone=keyword标识区域的名字,以及冒号后面跟区域大小。16000个IP地址的状态信息约1MB,所以示例中区域可以存储160000个IP地址。
第3个参数:Rate定义最大请求速率。示例中速率不能超过每秒2个请求。
超过限流,默认返回503状态
然后我们在503错误页面配置返回相应json或者html页面即可。这里我们返回json
error_page 503 /503;location = /503 {default_type application/json;add_header Content-Type 'text/html; charset=utf-8';return 200 '{"code":"6666,"msg":"访问高峰期..."}';}
展示结果如下
正常返回结果
限流后返回结果
至此nginx限流搞定
转载于:https://my.oschina.net/likaixuan0/blog/3046532
nginx 限流,以及nginx直接返回json格式数据相关推荐
- 返回json格式数据乱码
本文为博主原创,未经允许不得转载: 原本返回json格式数据的代码: @ResponseBody@RequestMapping(value = "getListByTime", m ...
- Spring MVC--使用Jackson返回JSON格式数据
使用Jackson返回JSON格式数据 index.jsp <%@ page language="java" contentType="text/html; cha ...
- 使用jQuery发送POST,Ajax请求返回JSON格式数据
问题: 使用jQuery POST提交数据到PHP文件, PHP返回的json_encode后的数组数据,但jQuery接收到的数据不能解析为JSON对象,而是字符串{"code" ...
- Flask设置返回json格式数据
https://blog.csdn.net/angus_17/article/details/80455838 from flask import Flask, jsonifyapp = Flask( ...
- django mysql返回json_Django 1.8.11 查询数据库返回JSON格式数据
Django 1.8.11 查询数据库返回JSON格式数据 和前端交互全部使用JSON,如何将数据库查询结果转换成JSON格式 环境 Win10 Python2.7 Django 1.8.11 返回多 ...
- ajax返回数据输出成表,javascript代码实例教程-ajax请求返回Json格式数据如何循环输出成table形式...
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过. 首先,Ajax请求数据,(用的是Jquery的Ajax) [javascript] $(function(){ ...
- java 返回 json格式_java 如何返回json格式数据,需要技巧
今天上午给同事调了半个小时的程序,最后发现是在后台代码的java返回json格式的数据出了个错误.因此就想到了广大的初学者一开始学习jquery的时候可能会遇到这个问题.现在我就把我的给大家分享一下, ...
- (八): 查询结果直接返回Json格式数据
Bee简单易用:单表操作.多表关联操作,可以不用写sql,极少语句就可以完成SQL操作:10分钟即可学会使用. Bee功能强大:复杂查询也支持向对象方式,分页查询性能更高,一级缓存即可支持个性化优化. ...
- JAVA中返回json格式数据
1. 返回json格式 package com.demo.util;import com.alibaba.fastjson.JSONObject;import java.util.HashMap; i ...
最新文章
- 云终端处理器——Atom
- 每日一皮:很多时候你和Bug就像这样!
- 【Android 逆向】类加载器 ClassLoader ( Android 的八种类加载器 | ClassLoader | BaseDexClassLoader | DexClassLoader )
- android:shareduserid获取资源,关于 android:sharedUserId=android.uid.system
- STDIN_FILENO和stdin区别
- Spring boot的put请求
- Exchange 退信550 5.1.11 RESOLVER.ADR.ExRecipNotFound
- 检查Red Hat JBoss BRMS部署架构的规则和事件(第二部分)
- qt android文件读写文件,qt android 开发之写入xml配置文件篇
- C++设计模式-模板方法模式
- springboot 日志_Springboot与日志
- JS实现的一个验证码,可以在前端验证后在提交action
- 历史首次!中国联通、中国电信组队了,只为达成这个目的
- python 使用 config 文件
- 微信小程序 - 列表并列多排显示
- 中仪股份管道机器人_中仪股份 X5-HT 管道CCTV检测机器人
- js传递参数时类型错误
- 关于浏览器显示出现中文乱码问题(已解决)
- mysql中的round函数(*)
- Mac Webpack Vue项目的搭建
热门文章
- c\c++ 随机数函数
- 昨天服务器出现问题,解决过程如下所述
- UA MATH563 概率论的数学基础 鞅论初步4 Radon-Nikodym定理,条件期望的存在唯一性
- UA MATH566 一个例子:什么是隐状态
- [Codeforces741D]Arpa's letter-marked tree and Mehrdad's Dokhtar-kosh paths——dsu on tree
- java 图片上传
- MyBatis自动生成代码之generatorConfig配置文件及其详细解读
- [JLOI 2012]树
- pat1003 迪杰斯特拉法和dfs求最短路
- 将字符串中的URL 解析,获取内容