以下是我的假设/查询。请说明我的理解是否有误
通过阅读文档,我了解到
答案 0 :(得分:1)
根据问题和评论中提供的信息,基本问题似乎是: 在无状态多服务器体系结构中,如何最好地防止数据重复,这里的数据是“此退款是否已处理?”
这符合“主要基于意见”的条件。有多种方法可以做到这一点,没有一种方法是最好的。您可以使用MySQL进行操作,也可以使用Zookeeper进行操作。
要处理退款,某处必须有一些数据库?为什么不只是反对呢?您准备针对的重复请求方案似乎很少发生-每秒不会发生数百次。如果是这样,则此方案不能保证实现高性能。只是数据库查找就可以了。
您的工作量似乎是1:1
的{{1}}之比。每次处理退款时,您都要检查是否已处理退款,如果未处理,则进行处理并为其输入一个条目。现在,Zookeeper本身says的使用效果最佳,例如read:write
比10:1
。虽然没有适用于MySQL的度量标准,但它不需要确定Zookeeper为写活动所做的某些保证。因此,我希望对于纯写密集型负载来说应该更好。 (*保证诸如顺序,广播,共识等)
只是一个小问题,但是您的数据是一个包含数百个(数千个,几百万个)交易ID的线性列表。这正是完全构建MySQL(或任何数据库)及其主键的目的。 Zookeeper适用于更复杂/功能更强大的分层数据。不需要。