目前我们有一个发布/消费者服务,消费者将收到的消息写入AWS S3。我们目前每月写入超过100,000个对象。 但是,我们可以根据一些规则对此消息进行分组,以节省一些费用。 这些规则可以是:
我们不想要的就是吃掉我们的记忆......正因为如此,我正在考虑从设计模式的角度来看最好的方法,考虑到我们所说的高负荷系统,所以我们没有无限的内存资源。
谢谢!,
答案 0 :(得分:2)
根据您在评论中的进一步说明,有一些名为Leaky bucket和Token bucket的相关算法。它们的主要目的略有不同,但您可以考虑使用一些修改 - 特别是您可以考虑将“漏出的水滴从桶中查看”,因为常规提交单个用户的所有消息都会刷新到S3。
这样的或多或少的修改(请首先阅读算法的描述):
我猜它会以某种方式遵循你原来的要求。