首页 > 解决方案 > 实施 maxperhour 和 maxperday

问题描述

在我的应用程序中有传入的消息,我想对其中一些进行采样,为简单起见,假设每 10 个消息 1 个。我有一个设置文件,其中包含以下属性:

将计数保留在当前类中不是一种选择,因此我需要以某种方式存储它们(在数据库或内存上)。

还有一件重要的事情是有多个收集器,所以我需要能够知道在过去一小时/今天收集了多少个 Collector1。它也在异步环境中

我没有想法,因为我知道如果我要将这些数据存储在数据库中,它的性能就不会那么好。

标签: c#asp.net.net

解决方案


了解您的托管环境是什么是有价值的。我认为分布式缓存可能会成为你的圣杯。您可以在所有连接器上共享此实例,并通过此共享实例轻松读取/写入/使数据无效。

例如,在 Azure 中运行您的系统,Azure Cache for Redis 非常适合解决您的问题,但同样,您的基础设施是正确答案的关键。


推荐阅读