我正在使用微服务架构开发网站,每个服务都拥有一个数据库。数据库存储微服务所需的数据。
如果我要创建一个新的服务,该如何获取已注册用户信息并将其放入新服务中?
也许我可以从现有服务中获取信息。但是事件是由消息队列(NSQ)推送的。
如果我要从其中一个微服务中复制数据,如何确保哪个服务具有最新的用户信息?(因为一些服务还没有接收到最新事件)
Post
和Video
服务需要用户信息,因此两个服务都订阅了NEW_USER_EVENT
。
当有新用户注册时,将触发NEW_USER_EVENT
。
NEW_USER_EVENT
,它们会将收到的用户信息放入各自的数据库中,这样它们就可以在不询问User
服务的情况下执行操作。
到目前为止一切都很好。但是问题来了:如果我要创建一个新的服务,该如何获取已注册用户信息并将其放入新服务中?
也许我可以从现有服务中获取信息。但是事件是由消息队列(NSQ)推送的。
如果我要从其中一个微服务中复制数据,如何确保哪个服务具有最新的用户信息?(因为一些服务还没有接收到最新事件)
阅读更多:
username
并将其转换为user_id
,而不需要向User
服务请求松耦合。当新用户注册时,这些服务将在各自的数据库中存储username-userId
映射,以便可以在它们自己的服务中进行转换。 - Yami Odymel