我正在构建一个可以从全球递增计数器中受益的系统。基本上,一种增加计数器并返回值的服务。我已经尝试过Azure Page Blobs(计数器增量标头),Redis(INCR)和SQL Server(Identity)。它们都有效,但前两个相当慢,通常需要一秒钟才能生成2000-3000个数字。 SQL Server速度更快,但只有在连接打开后才能运行。
Azure,AWS或软件(例如redis)中的其他选项有哪些?是否有任何特别擅长的服务?
答案 0 :(得分:-1)
您可以使用AWS DynamoDB Atomic Counters来实施全局计数器。
您可以使用UpdateItem操作来实现原子计数器a 数字属性,无条件地增加,没有 干扰其他写请求。 (应用所有写入请求 按照他们收到的顺序。)用原子计数器, 更新不是幂等的。换句话说,数值将 每次调用UpdateItem时都会递增。
这允许构建一个可靠的计数器,您可以根据您的比例调整吞吐量(启用自动调节),也可以使用最近引入的Global Tables(可选)在全球范围内复制,提供快速,本地,读取和写性能。
Global Tables以DynamoDB为您提供的全球足迹为基础 具有完全托管,多区域和多主数据库 为大规模缩放提供快速,本地,读写性能, 全球应用。全局表复制您的Amazon DynamoDB 自动选择AWS区域的表格。