【问题标题】:Synchronizations issues in dockerizeed microservicesdockerized 微服务中的同步问题
【发布时间】:2021-04-27 10:33:00
【问题描述】:

我用 Node.js 编写了 dockerized 微服务,并且在某些情况下,一些服务在它所依赖的服务启动之前就启动了,因此存在一些导致连接被拒绝错误的同步问题。

我主要使用HTTP 进行服务之间的通信

我目前在必要时使用暂停和重试,但这更像是一种技巧,有更好的方法吗?

【问题讨论】:

    标签: javascript node.js docker docker-compose axios


    【解决方案1】:

    首先,如果您的服务依赖其他服务,那么可能是时候重新评估它们的边界了。服务应该是自治的。如果不是,则您遇到了耦合问题,最好合并服务以便它们一起启动,甚至可能在同一个 Node 进程中。当然,微服务架构规定了服务的物理和逻辑分离。这有时是一个陷阱,会导致它们不那么可靠,而不是更独立。

    其次,分布式系统必须处理不可靠的网络。在这种情况下,重试是要走的路——这不是黑客攻击,这是一个生活中的事实,一些连接会时不时地失败。您可以选择在启动时将连接尝试视为任何其他重试:重复到无穷大。最重要的是,当您的服务未连接到所需的东西时,它不会假装它就绪健康

    【讨论】:

      猜你喜欢
      • 2020-04-21
      • 1970-01-01
      • 2017-01-28
      • 1970-01-01
      • 2021-07-24
      • 1970-01-01
      • 2017-02-24
      • 1970-01-01
      • 2021-03-31
      相关资源
      最近更新 更多