2017-07-03 50 views
1

我对AWS非常熟悉,我使用一堆ASP.NET MVC和MySQL以及Redis进行缓存/消息。最便宜的方法来准确计数AWS上的某些内容,容错,准确且没有RDS实例

通常为了保持计数,我会使用一个MySQL表来保留一些东西的数量,以便在我的网站上进行操作。我可以很容易地执行从我的代码中的以下内容:

UPDATE mycounts SET mycount = mycount + 1 WHERE id = @countId 

我可以保证,这是执行原子的盟友,所以我几乎可以保证,如果表达了数将只有一个上去为每个电话。

我这个实现的问题是:

  • 它需要一个数据库实例,这是昂贵的
  • 它需要数据库在任何时候都成为了起来,任何停机时间和我去丢失计数

什么是最便宜的方法来保持在AWS平台上的东西数量,而不必拥有RDS数据库?这是容错和准确的...

回答

4

你可以提供绝对最小吞吐量的dynamoDB表,并在那里使用原子计数器。这将是污垢便宜。

+0

有趣的,我现在就去看看吧! – Luke

+0

我一直在寻找原子计数器。我唯一担心的是它不能很好地扩展。我有一种感觉,我必须写一些行到dynamodb,然后调用lambda函数来处理行并增加count。 – Luke

+0

您究竟在担心什么部位会缩放? DynamoDB主要是为扩展而设计的 - 您可以扩展到每秒数百万次读取或写入,TB数据等,没有任何大的影响(假设您正确设计了表格) – Henry