【问题标题】:Is it possible to have centralised configurations for all Node.js microservices?是否可以对所有 Node.js 微服务进行集中配置?
【发布时间】:2018-09-06 14:12:42
【问题描述】:

我们有一套 NodeJS 微服务,我们所有的微服务都有针对不同环境的单独配置,例如

 default.json
 dev.json
 staging.json
 production.json

我怎样才能理解这些东西?

  1. 是否可以为所有微服务创建集中配置而不是单独配置?
  2. 首选集中配置还是单独配置?

我也用谷歌搜索,但没有相关信息。我主要是在寻找有关如何实现这一点的建议。

【问题讨论】:

    标签: node.js config microservices


    【解决方案1】:

    不要这样做

    将应用程序拆分为微服务的想法是保持其独立性。因此集中式配置打破了这个想法,而且这样做(例如使用某种代理微服务)您可能不得不在同一台机器上运行它们。

    是为了本地开发吗?

    如果是,只需创建docker-compose 容器,让开发人员轻松设置开发环境。这仍然需要为每个容器/服务进行多个配置

    不要做微服务

    也许你想要激活的不是微服务架构。看看here。可能是您想要的,服务应该很容易移植到有界上下文中。

    另外请记住,有界上下文不是微服务

    【讨论】:

    • 我们应该如何关联限界上下文和微服务
    • 微服务可以是逻辑的(多个技术微服务的整理,表现为单个有界上下文)和技术的(单个可执行文件)。有界上下文可以定义为您正在处理的域内的一组相关实体(购物车服务、身份验证、目录服务、播放列表)。另一方面,微服务可以被视为一种架构模式或技术服务(单一可执行文件)。
    • 微服务之间有天然的屏障——通过设计强制模块分离,同样的分离可以通过单体应用程序有界上下文来实现。对于单体有界上下文/微服务,域和应用程序层应该基本相同。差异应该只在接口/基础设施层。
    • 我猜差异还取决于系统的部署方式。例如,可以开发多个模块,这些模块由有界上下文的实现组成,但它们部署在同一台服务器上(模块)。微服务的挑战在于它们的有界上下文在物理上也是独立部署的(每个微服务都作为不同的进程运行)
    • 这是一个非常主观的答案,op 已经决定使用微服务,问题是如何在 nodejs 的这种架构中进行集中配置。所以答案不能只是,不要做微服务
    猜你喜欢
    • 2022-01-13
    • 2016-08-01
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 2020-07-19
    • 2015-12-13
    • 1970-01-01
    • 2019-02-12
    相关资源
    最近更新 更多