这个问题是关于微服务,以及如何在微服务的数据库模式改变时处理同步数据(特别是大量数据).它与this SO question非常相似,但更侧重于数据同步方面.
例如,您有一个User—API和一个Chat—API通过消息代理连接.您的聊天API必须知道some个用户相关数据(例如:邮箱,个人资料图片),但到目前为止还不是全部.因此,您的Chat—API(因为它有自己的模式)监听用户创建和删除的消息,并使用数据的子集更新自己的User—Table.
现在,一个新的功能出现了,它突然要求聊天API也意识到用户是否购买了某种订阅.User—API提供了该字段,但它以前被忽略了.现在假设您有100.000多个用户,但您现在在Chat—API数据库中没有这些用户的信息.
显而易见的解决方案是以某种方式将所有这些消息从Users—API重新发送回聊天API,这样它现在也可以获取用户订阅的值并存储它.但取决于数据库的大小,这可能是一个荒谬的任务.
这是你唯一的 Select 吗或者我错过了什么?