我正在测试Google数据存储区,以查看是否可以将其用于队列。由于有多个工作人员退出队列,因此我试图查看如何使用事务。
在这段代码中,我模拟了10个都在查询下一个作业ID并将其删除的客户端。
我收到此错误-不适用于数据存储区吗?
错误:10已终止:这些数据存储区实体上的争用过多。请重试。
m := i.(*map[string]interface{}); *m
答案 0 :(得分:1)
您正在达到数据存储的Enitity写限制:
https://cloud.google.com/datastore/docs/best-practices#entities
通常将这种类型的数据库用作有序队列被认为是一种反模式,因为入队和出队操作最终都会热点发现特定的键范围。如果您需要异步处理事务排队的任务,请考虑使用任务队列。