首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从Monolith迁移到Microservice

从Monolith迁移到Microservice
EN

Stack Overflow用户
提问于 2019-06-25 13:17:17
回答 2查看 213关注 0票数 0

我正在研究棕色迁移策略(来自pluralsight课程),您可以在其中创建1个API/monolith表。我目前所在的团队正在从一个巨石迁移到一个将在AWS上生存的微服务架构。

这是我遇到的一个问题/疑问:

我有两个表(连接),以及一个使用这两个表创建对象的Oracle存储过程。当然,Oracle是非常高效的。

但是,如果我将这两个表中的每一个放在单独的REST API中,那么创建结果对象将涉及:-从表1中获取1/3的数据-从表2中获取1/2的数据-使用Java从这两个数据集(数百万条记录)构造结果。

我听到了两个关于这个问题的回应: 1)不用担心,你在云上拥有几乎无限的计算能力,例如/一个EC2实例/微服务。如果你的应用程序接口/服务必须做一些繁重的工作(获取/处理数百万条记录),那就给它的EC2实例提供大量的能力(cpus、内存、存储等)。

还有..。

2)将'both‘表移到同一个api中。

我不确定答案1,至于答案2,有时会涉及多个表,例如10+!同样,在解决方案2中,当您可能需要获取多个1000/1000s的records+时,也会出现同样的问题!

欢迎提出任何建议!!:)

EN

回答 2

Stack Overflow用户

发布于 2019-06-25 13:36:33

好吧,微服务并不意味着一个服务可以有一个端点。根据需求,一个微服务可能有几个端点。如果您只需将多个表放入一个服务,就可以从您的服务中获得更多收益,那么就这么做吧。

另一方面,Oracle PL/SQL比在Java代码中组合它们要高效得多。如果您将它们放在两个或更多不同的服务中,您将不得不更加注意应用程序中的许多事情以及性能,因为您的表有数百万个条目。

更新:

关于您的第一个解决方案,即使您要在AWS上部署此解决方案,而且实际上AWS具有无限的处理能力,但这将花费您一大笔钱。AWS的处理能力并不便宜。特别是,如果你能做点什么来降低成本。

票数 1
EN

Stack Overflow用户

发布于 2019-06-25 13:20:33

我不知道您的确切架构,但您应该直接在Oracle上执行像表连接这样的操作,而不是分别访问每个表,然后从Java代码组合/聚合。采用这种方法应该比你目前正在做的事情更有效率。即使这些表驻留在不同的Oracle实例上,执行跨数据库查询、连接/聚合,然后将单个结果集返回给Java代码可能会更有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56747239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档