Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何从节点应用程序进行多个部署_Node.js_Heroku_Deployment - Fatal编程技术网

Node.js 如何从节点应用程序进行多个部署

Node.js 如何从节点应用程序进行多个部署,node.js,heroku,deployment,Node.js,Heroku,Deployment,我想知道从大型代码库创建多个部署的最佳方法是什么。想法是将大型API划分为微服务(每个都在自己的服务器/vm中) 第一个想法:我可以简单地创建一个文件夹,其中只包含该微服务的可用路由,但仍然使用“公共”代码库 我现在以这个为结尾,它是一个正在生产中运行的API(在heroku的暂存环境中有他们的管道): 我在想我可以有这样的东西: 谁能给我指出一个关于……的好的参考资料吗。。。从哪里开始?如何将同一基本代码的多个版本推送到服务器 有关所用技术的更多详细信息,我将使用: 摩卡和柴用于测试 续

我想知道从大型代码库创建多个部署的最佳方法是什么。想法是将大型API划分为微服务(每个都在自己的服务器/vm中)

第一个想法:我可以简单地创建一个文件夹,其中只包含该微服务的可用路由,但仍然使用“公共”代码库

我现在以这个为结尾,它是一个正在生产中运行的API(在heroku的暂存环境中有他们的管道):

我在想我可以有这样的东西:

谁能给我指出一个关于……的好的参考资料吗。。。从哪里开始?如何将同一基本代码的多个版本推送到服务器

有关所用技术的更多详细信息,我将使用:

  • 摩卡用于测试
  • 续集用于mariaDb建模和访问
  • 对服务器引擎进行恢复

将API划分为微服务时,您几乎没有选择:

  • 通过一些代码复制,为所有这些公司制定完全独立的回购协议
  • 建立完全独立的回购协议,但作为节点模块共享公共代码
  • 使用多个微服务进行一次回购,每个微服务作为其自己的节点模块
  • 用一个大的代码库进行一次回购,并用所需的部分构建多个模块
  • 我相信你可以用更多的方法
  • 节点模块数量和代码repo数量不匹配会导致一些问题,但在某些情况下可能会有一些好处

    在某些情况下,使用repos和模块的1对1映射会更容易,比如能够将私有GitHub repos directy添加到package.json中的依赖项

    如果您想找出一些常见的功能,可以通过以下几种方式实现:

  • npm支持组织、作用域包、私有模块和访问受限的私有作用域包
  • 您可以托管一个专用npm注册表
  • 您可以在GitHub、GitLab或任何其他git服务器上托管模块
  • 有关更多信息,请参阅:

    有一些很好的框架可以帮助您将代码库拆分为微服务,如Seneca:

    如果您使用的是AWS Lambda、Microsoft Azure、IBM OpenWhisk或Google云平台,则在某种程度上使用Serverless:


    下面有帮助吗?有什么评论吗?@esp不是真的。。。仍在等待更好的答案:)