【问题标题】:Meteor microservice with MySQL backend带有 MySQL 后端的 Meteor 微服务
【发布时间】:2015-10-09 20:25:23
【问题描述】:

所以我刚刚使用 numtel/meteor-mysql 成功构建了我的第一个流星 mysql 应用程序。

它就像一种魅力,但我遇到了一个问题 - 我目前正在研究一个更大的项目,其中有不同的客户,他们有不同的后端。所以后端的mysql结构肯定会有很大的变化。

虽然前端和大部分代码是相同的。所以我当然希望能够尽可能简单地修补所有这些代码。如果某些后端代码总是更改,这是不可能的,因为每个“流星节点包”对于每个客户都是不同的。

我的想法是有一个流星微服务来处理后端 mysql 调用并通过 DDP 将数据提供给主应用程序(也是用 Meteor 编写的,对每个客户都是一样的)。 使用 mongo,这是可能的,如 herehere 所示。

在使用上述软件包时,有人知道如何使用 mysql 后端完成所有这些操作吗?

或者是否有人知道如何在不需要微服务的情况下实现如上所述的易于维护的目标?

【问题讨论】:

  • 相对于让人们阅读其他文章来帮助你(我确实点击了它们),你能为我们具体化它吗?想想Pretend you're talking to a busy colleague
  • 解决这个问题的方法太多了。答案只会变成一个人们喜欢的稻草民意调查。最好的办法是自己对这个主题进行一些研究,找到两三个,分析它们,确定它们是否适合你,然后尝试一下。如果您对尝试做的事情有具体问题,请联系我们。

标签: mysql meteor


【解决方案1】:

我想我知道你需要什么。基本思想是构建一个单独的应用程序,公开某种CRUDAPI

对于 Meteor,有一个非常好的包可以帮助构建可维护的 API,请参阅 nimble:restivus package

接下来要做的是将 REST API 从您的单体应用程序中分离出来,并可能将其部署为另一个 Meteor 实例,无论是同一台服务器还是新服务器。

最后,您将不得不使用应用程序中的新 API 来发送和接收存储在 MySQL DB 中某处的数据。只需使用来自http packageHTTP.calls。

【讨论】:

    【解决方案2】:

    感谢大家的回答,但事实证明我应该更仔细地阅读文档,因为numtel/meteor-mysql 提供了开箱即用的 DDP mysql 订阅。

    所以我现在运行两个单独的流星应用程序,它们通过标准 DDP 包进行通信。 “API”meteor 应用程序仅是服务器,运行 numtels 包来进行 SQL 调用。主应用使用相同的订阅包来进行反应式数据绑定。

    【讨论】:

      猜你喜欢
      • 2016-04-22
      • 2019-10-23
      • 2020-10-21
      • 1970-01-01
      • 1970-01-01
      • 2021-07-31
      • 2016-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多