nginx启动时执行lua脚本 nginx能够写逻辑判断吗?

nginx能够写逻辑判断吗?

nginx启动时执行lua脚本 nginx能够写逻辑判断吗?

Nginx支持逻辑判断语法匹配,也可以使用lua增强。

微服务如何限制接口调用次数?

这种限制接口调用次数的通常被称为限流,那么为什么要限制流量呢?一般有两个原因:

1.首先是防止服务提供者被大量的请求淹没。

我们在开发一个项目的时候,理想的情况是可以正常响应很多请求,但是在现在的互联网环境下,我们很难评估用户的增长,访问的数量,甚至有时候会遇到恶意攻击;那么,与其项目被流量碾压,不如限制流量,只满足部分接入的正常响应。

简单来说:满足所有请求,满足部分请求,项目被碾压,所有请求都无法响应。

充电

目前很多平台开发的接口并不都是免费的。比如普通会员一天只能调用接口1000次,高级会员一天可以调用接口10万次,或者按调用量收费。

那么如何限制服务接口调用的次数呢?

使用电流限制算法

通常我们可以通过限流算法来限制接口调用的次数,比如计数器法、滑动窗口法、漏桶、令牌桶算法,这里我们以令牌桶算法为例。

令牌桶算法,我们可以把它想象成一个桶,里面有n个令牌,系统会匀速把令牌放进桶里。在每次处理之前,我们必须首先获得令牌,如果可以的话。;如果得不到,我们将拒绝服务。这里我们使用Google生产的Guava工具库,它提供了一个开箱即用的令牌桶速率限制器。

如图,我们写了一个简单的接口,省略了业务逻辑,只返回一个字符串;我们设置(2),这意味着每秒提交的任务不超过2个。

让 使用接口工具模拟并发调用:

他逼他坚强,我却立场坚定。因为我们使用限流算法,并且每秒只处理2个请求,所以我们可以从日志中看到每秒只有2个日志的效果。

分布式架构下的电流限制

由于使用了开源组件,限流的实现看起来很简单,但是这里也有一个很大的问题,就是实例是一个应用包,但是在实际项目中,我们通常是通过集群部署的将我们的应用部署在多台机器上,那么这个时候如何限流呢?

每台服务器上的应用程序控制自己的响应数量?比如一天只能调100次,如果调配10台,总数就变成1000次;

反推?因为总量一天只能调100次,调配10个单位,也就是每个单位一天只能调10次?这是一个非常糟糕的方法。更不用说流量可以平均分配到每台机器。如果一机挂机,今天只能支持90个吗?

通常我们可以将令牌放在公共场所的令牌桶中,如Redis,而不是本地。每次请求来的时候,我们都可以计算出总量是否超过限制。如果没有,我们会正常处理。如果是这样,我们将返回一个错误消息。

具体来说,Redis中的key-100作为令牌桶,100表示一分钟可以调用100次,每次处理前将值减1,返回值大于0,表示可以处理;每分钟将数值设回100;或者计数累加,从0开始,不断累加,最后超过单位时间的总量限制;

但是,这个方法应该有一个定时任务来设置令牌的数量。此外,这种方法可以 t应对突发流量,比如前59秒没有请求,第60秒来了100个请求,第61秒来了100个请求,实际上两秒处理了200个请求。

另一种方案是使用Redis中的有序队列排序集来存储近100次的调用时间。每次有新请求时,将队列中第一个元素的时间与当前时间进行比较。如果相差超过1分钟,说明没有超过流量限制,然后进行处理,把第一个元素推出队列,把新的请求时间推入队列。

我会继续分享我对Java开发、架构设计、程序员职业发展等方面的看法,希望得到大家的关注。

标签:

最新文章

  1. 如何在Excel中快速查找所有工作表中相同数据2025-03-08
  2. 国际广播电台泰语收听 苹果11的13.1.2要不要升级到13.2.3?2025-03-12
  3. 找份工作 网页设计主要干什么的?2025-03-30
  4. 构造函数形参直接赋值可以吗 构造函数什么时候被调用,复制构造函数是么时候被调用?2025-03-27
  5. cad怎么在曲线线上等分 CAD中如何选择定数等分的点?2025-03-13
  6. 自己怎么做网站网页 如何注册一个域名?2025-04-01
  7. 电信定向流量查询方法2025-03-09
  8. oppo reno3游戏中怎么呼出侧边栏 oppo reno2z手机侧边栏怎么弄在右边?2025-03-18
  9. 如何在Photoshop软件中正确新建和删除图层2025-03-09
  10. 如何在Edraw Max中创建设备图2025-03-09
  11. 电信1000m宽带测速多少合格 1000兆的电信宽带为什么测速这么低?2025-03-10
  12. 解决小新Pro笔记本电脑下载软件压缩包显示网页图标问题2025-03-15
  13. ug编程创建刀具和使用 UG编程刀具操作指南2025-03-15
  14. 网络营销的方法有哪些? 网络营销的就业前景怎么样?2025-03-27
  15. win10输入法皮肤设置 苹果的输入法可以改颜色吗?2025-03-28
  16. 健身房拳击教练怎样开单(健身教练新手怎么开单?)2025-03-24
  17. python数据可视化 python与大数据什么关系啊?2025-03-29
  18. 提升Word使用效率:定制最近使用的文件列表2025-03-14
  19. 网络营销产品的五个层次 网络营销模式与传统营销模式的区别?2025-03-31
  20. 看房买房app哪个好 看房子价格哪个APP比较好?2025-03-27
  21. Excel常用函数探究:取整函数与计数函数操作方法2025-03-08
  22. 网页设计需要学什么 网页设计主要干什么的?2025-03-31
  23. 苹果电脑怎么更改屏保时间 苹果电脑屏保时间怎么设置长时间?2025-03-19
  24. 苹果手机怎么添加小区门禁卡教程 iphone如何设置门禁卡?2025-03-25
  25. 如何恢复手机删除的软件 谷歌验证码丢了怎么办?2025-03-30
  26. 阿里云9.9元服务器 建网站是用阿里云还是网站公司?2025-03-20
  27. 水果行业营销策略 自己家乡的水果怎样更好的在线上销售出去,具体该怎么做?2025-03-28
  28. 怎么申请运费险 快递的运费险怎么才能退?2025-03-18
  29. 适合学生党入手的手机 学生党,考虑换手机,但是不知道现在什么手机性价比比较高,有什么推荐?2025-03-31
  30. oppo全屏情况下怎么复制文字2025-03-12
优质自媒体
优质自媒体 微信号:优质自媒体 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 如何在搜狗五笔输入法中切换到“纯拼音模式”组合键

    搜狗五笔输入法作为一款常用的输入工具,提供了丰富的功能和设置选项,其中包括切换到“纯拼音模式”的组合键设置。下面将详细介绍如何进行操作,帮助您轻松实现切换。 一、找到“工具箱”图标首先,在电脑桌面右下角找到搜狗五笔输入法的“工具箱”图标,并

  2. 2 如何使用Python读取图像

    Python是一种广泛应用于计算机领域的编程语言,尤其适用于机器学习开发。在使用Python进行图像处理时,如何读取图像是一个重要的问题。本文将介绍使用Python读取图像的具体方法。准备工作首先,我们需要打开WinPython工具包。这个

  3. 3 抖音领现金的活动在哪找 怎么样看抖音极速版获现金?

    怎么样看抖音极速版获现金?激活后抖音极速版的金币就可以了,每次看抖音极速版时都会有一个小圈圈,每转一圈是会收获一点金币,金币就是可以能兑换成现金。但长时间不玩抖音极速版可能会要激活这个圈圈才能有金币。除了,还可以不相关参考里面的一些小活动,

  4. 4 乐动魔方攻略

    乐动魔方是一款备受玩家喜爱的游戏,但要在游戏中取得胜利并登上巅峰,需要掌握一些绝杀战术。本文将为您详细介绍一些乐动魔方的攻略技巧,帮助您在游戏中取得更好的成绩。1. 规划您的队伍在乐动魔方中,选择合适的队伍成员是非常重要的。不同的角色拥有不

  5. 5 沙发管家可以下载app吗 创维电视怎么安装沙发管家?

    创维电视怎么安装沙发管家?是从U盘按装沙发管家1、到沙发管家下载沙发管家装到U盘,然后再抽入盒子;2、在盒子中再打开应用商店—应用管理—本地安装;3、你选择沙发管家安装包,听从不提示接受安装去掉。实际远程安装功能安装1、再打开小米盒子应用商

  6. 6 PDFXEdit设置移动调整大小自动复制图像关闭方法

    PDFXEdit在编辑PDF文件时提供了许多实用的功能,其中一个常见问题是如何对移动调整大小时自动将图像复制关闭。下面将详细介绍PDFXEdit的操作步骤。 打开编辑菜单首先,打开PDFXEdit软件并进入菜单栏。点击顶部的“编辑”菜单,会

  7. 7 应用宝电脑版怎么下载应用 联想自带的下载软件叫什么?

    联想自带的下载软件叫什么?联想电脑管家下载你可以使用微软 s应用商店;联想还有一个联想应用商店,在联想电脑管理器里面点击就可以进入。也可以下载其他应用商店,比如App Stor怎么用OPPO手机下载应用宝?1.首先你需要打开手机桌面,也就是

  8. 8 连续条码的判断标准 连续条码判断

    连续条码的判断是在物流和供应链管理中非常重要的一环。只有准确判断连续条码的有效性,才能确保货物的追踪和溯源工作无误。本文将从多个论点出发,详细介绍判断连续条码的方法与标准。首先,连续条码的完整性是判断的基础。连续条码通常由一系列数字、字母和

  9. 9 支付宝的零花钱在哪个地方 什么钱可以转到支付宝里面?

    什么钱可以转到支付宝里面?银行卡里面的钱也可以回到支付宝,因为在银行卡里面是没有利息的,所以才如果你发了工资就忙不迭地把所有钱都回到支付宝,支付宝里面有个余额宝,把钱移回余额宝就是可以有利息,只不过不高但总比放在旁边银行卡里面没钱要划算很多

  10. 10 使用PS2020制作拼接图效果的方法

    在PS2020中,给图片添加拼接图效果是一项常见的需求。通过以下步骤,可以轻松实现这一效果: 1. 选中插入的图片素材首先,在PS2020中打开需要添加拼接图效果的图片,确保选中了相应的图片素材。 2. 打开滤镜菜单并选择风格化选项接下来,

Copyright 2025 优质自媒体,让大家了解更多图文资讯!百度地图 360地图