你说的两件事是:

1)"I would like to rate limit so that only 10,000 requests get processed/day"

2)"while still load balancing those 10,000 requests."

首先,您似乎正在使用分而治之的方法,其中来自最终用户的每个请求都被映射到n台机器中的一台.因此,为确保在给定时间范围内仅处理10,000个请求,有两个选项:

1)实现一个组合器,它将来自所有n台机器的结果路由到

然后外部API能够访问的另一个端点.这个端点能够

保持正在处理的工作量的计数,如果它超过了你的门槛,

然后拒绝这份工作.

2)另一种方法是将当天处理的作业数量存储为变量

在你的数据库里面.然后,通常的做法是检查您的阈值

在初始请求作业时,数据库中的值已达到

(甚至在你把它传递给你的一台机器之前).如果阈值已经过了

到了,然后在开始时拒绝工作.这与适当的消息相结合,具有为最终用户提供更好体验的优点.

为了确保所有这10,000个请求仍然是负载平衡的,以便没有1个CPU处理比任何其他CPU更多的作业,您应该使用简单的循环方法在m CPU上分配作业.使用循环法,与bin /分类方法相同,您将确保作业请求尽可能均匀地分布在您的n CPU上.循环的一个缺点是,根据您正在处理的作业类型,您可能会在开始扩展时复制大量数据.如果这是您关注的问题,您应该考虑实现一种局部敏感的哈希(LSH)函数.虽然良好的散列函数尽可能均匀地分布数据,但如果您选择散列的属性中的偏差很可能发生,则LSH会让您使CPU处理的作业多于其他CPU.与往常一样,这两者都有权衡,所以你最了解你的用例.

java强制执行方法_java – 在多台机器上强制执行单一速率限制的好方法是什么?...相关推荐

  1. 在多台机器上搭建Hadoop的分布式环境

    2019独角兽企业重金招聘Python工程师标准>>> 分布式环境搭建之环境介绍 之前我们已经介绍了如何在单机上搭建伪分布式的Hadoop环境,而在实际情况中,肯定都是多机器多节点的 ...

  2. mysql在同一台机器上实现主从_MySQL 5.7主从搭建(同一台机器)

    主从复制原理:复制是 MySQL 的一项功能,允许服务器将更改从一个实例复制到另一个实例.1)主服务器将所有数据和结构更改记录到二进制日志中.2)从属服务器从主服务器请求该二进制日志并在本地应用其内容 ...

  3. 一台机器上有几个java虚拟机

    一台机器上java虚拟机会存在多少个? 一直以来,我都认为,每台电脑上java虚拟机只存在一个:如果你启动多个java程序,这些程序都在一个虚拟机中运行.这是常规的想法,就像我们自己的电脑,电脑只有一 ...

  4. python 如何远程控制另一台机器-通过cmd执行文件

    python 远程控制另一台机器通过cmd执行文件,通过本机控制远程主机执行代码. import wmi import pythoncom conn = pythoncom.CoInitialize( ...

  5. window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法

    window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7. 安装 ...

  6. github ssh密钥_如何使用SSH密钥在一台机器上管理多个GitHub帐户

    github ssh密钥 The need to manage multiple GitHub accounts on the same machine comes up at some point ...

  7. 更改多个版本java_window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法...

    window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7. 安装 ...

  8. php和mysql不在一台机器上_MySQL_在同一台机器上运行多个 MySQL 服务,**************************************** - phpStudy...

    在同一台机器上运行多个 MySQL 服务 ********************************************************** 第一部分, 在一台服务器构建多mysql ...

  9. 如何实现一台机器上运行多个MySQL实例?

    在一台机器上一个MySQL服务器运行多个MySQL实例有什么好处?这里我先入为主给大家介绍这样做至少存在两个好处(看完这篇文章后理解会更透彻): (1)减轻服务器链接负担 (2)为不同的用户提供不同的 ...

最新文章

  1. G20国家科技竞争力大盘点,中国科研创新表现突出,人工智能变道超车
  2. 说说JSON和JSONP,也许你会豁然开朗
  3. UINavigationController使用的一些技巧
  4. linux vim 插件管理,linux: vim插件管理
  5. BadI /ui2/catalog_provider_bd
  6. idea 解决jar 的冲突
  7. php抓取动态数据,php+ajax实现无刷新动态加载数据技术
  8. BigTable的开源实现:HBase数据库
  9. c#如何根据字符串长度获得宽度
  10. 在职工象棋赛上弃子拿下一盘
  11. [RMI TCP Connection(10.0.20.175:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Got ping response for
  12. nvidia控制面板点了没反应win7_n卡控制面板没有显示选项修复方法_win7系统nvidia控制面板没有显示选项最佳设置...
  13. 得到app产品体验报告
  14. Web前端开发师必备的8个工具
  15. 卡巴斯基正式版 送一年
  16. noi题库1.1~1.6答案
  17. 共享没有计算机网络连接不上去,苹果usb共享给电脑连接不上怎么办
  18. hd计算机技术,BD和HD的区别是什么?
  19. 统计学中抽样调查和一些常用的方法
  20. sem_init函数用法

热门文章

  1. 在 Linux/UNIX 终端下使用 nload 实时监控网络流量和带宽使用
  2. ubuntu使用KVM创建虚拟机
  3. C/C++ mysql 设置字符集
  4. Elasticsearch 实例管理在京东的使用场景及演进之路
  5. Redis布隆过滤器
  6. java 8中 predicate chain的使用
  7. DPDK精准测量时间
  8. html section 布局,HTML:section标签
  9. Spring的WebClient基本使用
  10. hdu 1086 线段相交