我开始将 node.js 项目迁移到微服务方法,并且不知道应该如何共享数据。这是一个示例,假设我有以下有界上下文:
- 帐户(用于管理用户帐户、权限、登录/注销、配置文件等)
- 图片(用于管理文件上传,例如与给定帐户关联的个人资料图片、图片库等)
- 视频(用于管理视频上传和转码为与给定用户相关的各种格式)
在此示例中,图像和视频似乎对帐户有界上下文或微服务具有自然依赖性。我假设我可以将帐户表复制到图像和视频数据库并仅存储所需的帐户数据,但这在保持一致性等方面似乎是一场噩梦,因为帐户信息经常更新,更不用说是否其他微服务也需要同样的依赖。我可以让所有三个微服务都使用同一个数据库,但这违反了每个微服务都绑定到自己的数据库的建议。
处理这种情况的推荐方法是什么?我仍处于计划阶段,并希望确保我以正确的方式做到了这一点。