【问题标题】:Node.js serve as microservice serviceNode.js 作为微服务服务
【发布时间】:2017-12-08 22:51:14
【问题描述】:

我想访问我的 node.js 服务器作为微服务基础架构中的服务。这意味着如果在本地我可以访问节点服务器服务/root-path-to-service。但在部署到 AWS 中的基础设施后,它以/microservice-path/root-path-to-service 的形式访问,而app.use('/root-path-to-service', ...) 不再起作用。如何配置在这两种情况下工作?

【问题讨论】:

    标签: node.js microservices


    【解决方案1】:

    提供路径作为环境变量。然后使用 Node 从那里读取它:

    process.env.ENV_VARIABLE_NAME
    

    这是标准的微服务实践。

    【讨论】:

    • 我猜最初的问题是关于 URL,它与 app.use('/service-url-pattern') 匹配。可能有几种解决方法,其中一种可能是使用代理来匹配/microservice-path/ 部分,然后您的节点应用程序可以保持不变。
    • 你可能是对的@HarryYoo,但我们不要再猜测了。 ;-)
    • 此解决方案按描述工作。感谢您提示常见做法,在其他地方找不到。谢谢
    • 感谢您对@Ricardas 的评论。通常的做法是不将特定于环境的配置信息与代码一起存储。环境变量是解决该问题的常用方法。
    猜你喜欢
    • 1970-01-01
    • 2018-07-17
    • 2017-09-22
    • 2017-03-31
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    • 2016-03-05
    相关资源
    最近更新 更多