gpt4 book ai didi

node.js - 如何设计具有微服务架构的 sails.js 项目?

转载 作者:搜寻专家 更新时间:2023-10-31 22:37:15 24 4
gpt4 key购买 nike

我从here了解微服务

现在,我想在我的下一个 sails.js 项目中使用微服务架构。

我能想到的一种方法是:

  1. 将我的一个 sails.js 应用程序分成多个小的 sails.js 子项目/存储库。

  2. 在一个子项目中有一个 Controller 模型。例如,如果我们考虑带有用户、产品、订单等实体的简单电子商务应用程序,那么每个实体都将有单独的 sails.js 存储库,并带有各自的 sails.js 模型 Controller 。然后这个单一的子存储库将来 self 的一个微服务。

  3. 每个子存储库显然都会有自己的配置。

  4. 这些微服务将使用一些 HTTP Node 模块相互通信。

  5. 然后写我自己的API gateway用于 node.js 中的路由,它将负责根据来自客户端的请求从这些子存储库调用方法/网络服务。

这是使用微服务架构设计项目的最佳方式还是其他方式?

使用 sail.js 实现服务间通信、API 网关的最佳方式是什么?如果用上述方法设计的一个微服务变得更大,如果我必须将它分成 2 个,应该如何更改 sails.js 模型?

最佳答案

设计微服务最重要的方面是关注点分离,这意味着每个微服务都将有一个定义的边界,它们需要在该边界下工作。

每个微服务都旨在完成定义的工作,因此,首先您需要在您的项目中找到独立的功能,并尝试为其创建一个微服务。

需要注意的最重要的一点是,您应该首先从单体架构开始,如果您发现某些功能需要分离,那么您可以从中创建微服务。

就 sails 而言,它是 MVC 的一个很好的候选者,如果项目是单体的,但如果微服务的数量很大,那么它不是一个好的选择,因为使用 sails.js 运行大量微服务会消耗更多的系统 RAM.Sails.js 内部使用了很多您不需要的库。您可以只使用 node.js 核心模块创建一个简单的微服务,它们也会消耗更少的内存。

此外,当每个微服务处理小功能时,代码会更少,并且不需要 mvc 架构。您可以使用更少的库来创建它。

结论

  1. 如果服务数量较少并且您不担心系统 RAM,则可以使用多个 sails 应用程序。
  2. 如果服务的数量会更多,那么请尝试在不使用风 sails 的情况下提供您的服务

关于node.js - 如何设计具有微服务架构的 sails.js 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39672919/

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