microservices - 微服务架构中的动态数据复制
问题描述
是否应该跨微服务共享动态数据?
例如,有 2 个服务:项目和文档。每个项目都可以有文档和项目成员。项目成员可以访问项目文档。是否可以将项目成员存储在文档中并在每次从项目中添加/删除成员以执行访问检查时更新它们。还是每次用户查询项目文档时查询项目成员更好?
解决方案
在数据复制方面,微服务方法通常是一种权衡。在我看来,只要使您的服务独立,数据复制就不错了。
如果复制一小部分数据使您的服务独立,即使其他服务关闭,它也可以完成操作,那么就采用这种方式。例如预订和订购是两个独立的服务,您可以在预订服务中保持订单状态。即使订单服务不可用,您的使用也可以在查询预订时看到最新的订单状态。
但是,如果数据复制不能让您独立,那么您就需要重新考虑这种方法。
推荐阅读
- python - 如何在 Pandas/Python 中识别与特定动态值相关的文本
- django - 为什么在graphene-django中中继?
- java - 带有 Room 持久性库的 Firebase
- javascript - 与作曲家的条带集成不能在实时服务器上工作同样适用于本地主机
- regex - 查找所有数学运算的正则表达式
- java - 如何将第二个值连接到 For 循环下的字符串变量
- php - 如何在 php 中将 .DDF 文件转换为 tiff
- angular - 如何使用Angular 6进行数据绑定onclick按钮
- entity-framework - 带有 2 个孩子的 Microsoft Entity Framework Core 父级
- python - 为什么这个 subprocess.check_output 行会使我的脚本崩溃?