gpt4 book ai didi

nosql - 是否可以在表现出最终一致性的数据存储中管理用户/身份?

转载 作者:行者123 更新时间:2023-12-04 21:49:38 26 4
gpt4 key购买 nike

是否可以在显示最终一致性的数据存储中创建/存储用户帐户?

似乎不可能在没有一堆架构复杂性的情况下管理帐户创建,以避免可能发生具有相同 UID(例如电子邮件地址)的两个帐户的情况?

最终一致性存储的用户是否使用单独的一致数据库作为身份存储,或者是否有我应该探索的解决方案/模式?

提前致谢,

杰米

最佳答案

可以在最终一致的数据存储中进行使用管理。我们做到了。它在以下假设下工作:

  • 冲突不应该发生,当冲突发生时,就有了解决冲突的明确途径。如果帐户 ID 是一个人的电子邮件地址,那么如果两个不同的人尝试在同一电子邮件下注册,那么这里的问题就更大了。在这种情况下,我们会在发现冲突后立即阻止这两个新帐户,并向冲突中的地址发送电子邮件,向用户解释存在问题(可能存在欺诈)。您可以要求用户重置帐户或要求他们联系支持人员。
  • 同一用户在数据不一致的时间范围内重复访问到同一个副本。例如,如果一个人刚刚注册并且下一个请求是登录,则您必须针对存在新注册详细信息的数据副本验证该登录。因此,如果最终一致性是由于不同地理位置的多个数据中心造成的,并且在正常情况下,请求会发送到地理位置最近的数据中心,那么您就可以了。

  • 有一些边缘情况,例如如果用户在一个数据中心注册,然后该中心崩溃,现在用户无法登录,即使他仍然可以看到应用程序 - 由其他数据中心提供。您可以根据您的每日新用户数量和平均数据中心停机时间计算此案例的预期频率。然后决定是否值得担心(百万/十亿/无论您的数字是多少)中的一个用户遇到问题并可能联系支持。不久前我面临同样的决定,并决定从成本效益的角度来看答案是否定的。

    关于nosql - 是否可以在表现出最终一致性的数据存储中管理用户/身份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7332452/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com