我对AWS相当熟悉,我使用 ASP.NET MVC和MySQL以及Redis堆栈进行缓存/消息传递。
通常,为了记录某些内容,我会使用 MySQL 表来记录某些内容,以便在我的网站上执行操作。 我可以在代码中轻松执行以下内容:
UPDATE mycounts SET mycount = mycount + 1 WHERE id = @countId
我可以保证这是原子执行的,所以我几乎可以保证,如果表上升,每次调用的计数将正好增加一个。
我对这种实现的问题是:
- 它需要一个数据库实例,这很昂贵
- 它要求数据库始终处于启动状态,任何停机时间,我将丢失计数
在AWS 平台上记录某些内容而不必拥有 RDS 数据库的最便宜方法是什么? 这既是容错的,也是准确的...
您可以预置绝对最小吞吐量 dynamoDB 表,并在其中使用原子计数器。它会非常便宜。