首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何迭代地改变后端技术?

如何迭代地改变后端技术?
EN

Stack Overflow用户
提问于 2017-08-11 14:00:43
回答 2查看 88关注 0票数 3

背景

我们的后端目前用Grails编写。我们希望将后端更改为NodeJs。我们希望在小的迭代中执行更改。我们在AWS上部署所有东西。

问题

如何迭代地将技术从Grails更改为NodeJs?

我的观点

虽然我们不使用Microservice体系结构(而且我们都没有使用它的经验),但我个人认为:

  1. 在Grails服务器之前构建一个NodeJs服务器(比如网关API?)
  2. 起初,NodeJs只会将请求/响应传递给/来自Grails
  3. 然后我们将从Grails移除其他功能(请求日志记录、验证、.)直到我们把所有需要的东西都搬走了。(也许我们在Grails上保留了一些东西,但大多数逻辑都应该在NodeJs上结束。)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-11 14:32:14

我们已经成功地从Rails迁移到了用NodeJS编写的基于API & Lambda的微服务。如果您喜欢NodeJS服务器(没有微服务)或使用带有ECS的Docker集群,则可以使用相同的体系结构。

  • 将CloudFront设置为代理,它将将所有HTTP流量都发送到应用程序域中(您可以将DNS映射到CloudFront CName)
  • 在CloudFront中,您可以添加当前Grails应用程序作为默认的起源和行为,这使得您的应用程序可以像现在一样工作。
  • 然后,您可以使用seperately和Lambda或NodeJS、Web或DockerContainer群集分别设置您的微服务体系结构。(请注意,如果使用像MySQL这样的关系数据库,还需要在Lambda、WebServer或容器中正确放置新的服务器代码,以便访问数据库)
  • 之后,您可以编写新的特性逻辑,并一次从CloudFront重写一个指向新应用程序的http子路径。

下图显示了高层的体系结构。

注意:在图表中,它将DynamoDB用于新的微服务,在迁移阶段,您还可以使用适当的VPC、子网和服务器位置连接到当前数据库。

此外,您还可以从CloudFront CDN中获得缓存静态资产以提高应用程序性能的好处,还可以使用CloudFront颁发的免费SSL证书终止CloudFront中的SSL握手。

票数 4
EN

Stack Overflow用户

发布于 2017-08-11 14:22:56

你的方法绝对是可能的。但我会再拿一张试试微型服务。然后,您将一个接一个地将代码的一部分移动到一些可爱的微服务,并最终拥有微服务架构。我喜欢这种方式,因为它允许快速切换.所有的一切。您可以使用Java、Node、Go -任何您想要的东西来构建您的微服务。如果您突然发现node.js不符合您的期望(例如,如果您有核心的数学模块),只需将这个微服务抛出,并在任何其他语言和框架中快速地实现它。最重要的部分是定义通信体系结构。REST已经成为过去,您可能希望使用像RabbitMQ这样的消息代理。

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

https://stackoverflow.com/questions/45637090

复制
相关文章

相似问题

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