c# - 实施 maxperhour 和 maxperday
问题描述
在我的应用程序中有传入的消息,我想对其中一些进行采样,为简单起见,假设每 10 个消息 1 个。我有一个设置文件,其中包含以下属性:
- 最大每小时
- MaxPerDay
- 最大时间
将计数保留在当前类中不是一种选择,因此我需要以某种方式存储它们(在数据库或内存上)。
还有一件重要的事情是有多个收集器,所以我需要能够知道在过去一小时/今天收集了多少个 Collector1。它也在异步环境中
我没有想法,因为我知道如果我要将这些数据存储在数据库中,它的性能就不会那么好。
解决方案
了解您的托管环境是什么是有价值的。我认为分布式缓存可能会成为你的圣杯。您可以在所有连接器上共享此实例,并通过此共享实例轻松读取/写入/使数据无效。
例如,在 Azure 中运行您的系统,Azure Cache for Redis 非常适合解决您的问题,但同样,您的基础设施是正确答案的关键。
推荐阅读
- sql - 按字母顺序查找唯一对象
- python-3.x - 带有 Powershell 的 Terrmcolor 不显示颜色结果
- python - 有没有办法在 Jenkins Pipeline 中将 python 模块导入 groovy 语言?
- c++ - 我们可以将数组映射到整数吗?
- python-3.x - Arduino 没有从树莓派中获得价值
- javascript - 使用 AMD 的节点“fs”模块和“readdir”方法
- php - 使用 Sql Server 和 PHP 在 jQuery Full 日历中添加和加载事件
- ajax - 在 WordPress 中设置授权标头?
- python - 通过一个函数返回在 Flask 中呈现的 HTML 和 JS,而无需运行两次
- laravel-5 - 如何使用 cmd laravel 创建模型控制器和数据库表,任何人都可以给出命令列表吗?