gpt4 book ai didi

java - 我应该使用微服务或映射实体在多个应用程序之间共享数据吗?

转载 作者:太空宇宙 更新时间:2023-11-04 09:44:27 25 4
gpt4 key购买 nike

我有一个包含多个应用程序的场景,每个应用程序都处理自己的数据。但由于业务是耦合的,我们需要访问彼此应用程序的数据。

我们基本上有一个数据库依赖策略,与某些应用程序共享实体或在其他应用程序中映射 View 。它创建了一个依赖 hell !

  1. 在这种情况下微服务如何帮助我们?

  2. 访问多个 url 的策略为何比使用数据库 JOIN 更好?(例如 EntityA 与 EntityB 具有映射依赖关系。如果我使用微服务策略,我将必须调用/apirest/resourceA 和/apirest/resourceA/resourceB,对吗?这会比从实体 A 内连接实体 B 中选择 * 更好/更快吗?)

  3. 如何解耦所有应用程序之间的数据(就像 10 个应用程序在某个时刻访问相同的数据)?

  4. 有任何 Material /元素/技术指示吗?

最佳答案

  1. 微服务定义了清晰的边界。他们不会奇迹般地让一切变得更快。
  2. 数据库连接也是可行的解决方案。如果数据之间的耦合非常强,微服务可能不是正确的选择。微服务允许您的不同服务使用独立于其他服务的技术。假设您有服务 A 和 B。您可以在服务 A 中使用关系数据库来存储强耦合且需要事务安全性的数据,并在服务 B 中使用图形数据库来管理关系数据。服务 A 和 B 不关心对方使用的是什么,因为它隐藏在服务边界后面。
  3. 如果您可以以最少的交互将数据划分为多个域,那么这些域边界就是您的服务的良好起点。服务最终必须引用另一个服务的实体。两种可能的选择是始终调用其他服务或保留远程数据的最小本地副本(例如仅远程实体的主键)。当然,本地副本需要保持数据更新(包括事件?)。目前我们正在为这一点而苦苦挣扎......
  4. 如果您在谷歌上搜索微服务,您将会被信息淹没。我喜欢https://martinfowler.com/articles/microservices.html作为起点。

我确信我在这里没有触及微服务的所有方面,这只是一个简短的提示,指示您开始旅程的方向...

关于java - 我应该使用微服务或映射实体在多个应用程序之间共享数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55593939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com