我们的项目是使用 DDD 开发的。我们决定将用户身份转移到单个微服务中,该微服务将用于检查用户身份、颁发和验证令牌。
现在,由于帐户和用户位于解决处理用户和帐户详细信息问题的不同微服务中,我们遇到了一个称为最终一致性的挑战。
我们的问题是,我们是否应该首先在帐户和用户微服务中创建帐户/用户,然后将事件发布到用户身份微服务,反之亦然。
在第一种情况下,我们将立即获得帐户和用户的基本信息,但由于最终的一致性延迟,无法提供令牌,因此没有用户能够登录。
在第二种情况下,用户可以登录,但是当他登录到他的帐户时,由于最终的一致性延迟,将没有可用的帐户信息。对于这种情况,当满足最终一致性时发送确认邮件的解决方法,因此用户可以确认注册和登录。
我想听听反馈,哪种情况更有意义,还有什么我现在看不到的问题吗?