【问题标题】:Want to run a dozen microservices on a single machine想在一台机器上运行十几个微服务
【发布时间】:2017-07-06 09:58:35
【问题描述】:

我有一个 16 核 64 gig 服务器。我将 node.js 用于基于微服务的架构。大约有十几个微服务。似乎很适合在同一台机器上部署所有十几个微服务。
通常人们会在 REST 与消息传递之间进行辩论,而消息传递通常会胜出。在这种情况下,两者都会出现不必要的开销。
微服务应该如何通信......比如说,使用节点 js 或基于 JVM 的进程。理想情况下,如果每个微服务都“绑定”到一个核心,并使用 L2 或 L3 缓存与其他微服务进行通信,则性能最佳!超级快。有可能吗?

  1. 将微服务进程永久绑定到核心
  2. 微服务使用 L2 或 L3 缓存进行通信 谢谢

【问题讨论】:

  • 你看过 Akka - akka.io - 它似乎符合你的要求
  • 是的,汤姆看起来很合适..检查一下

标签: architecture microservices


【解决方案1】:

使用容器在一台服务器上托管您的微服务可以很好地工作。 您可以点击此链接了解更多信息 3 Reasons why you should use containers to run microservices

【讨论】:

    【解决方案2】:

    请问,既然您根本不打算分发分布式系统,为什么还要费心构建分布式系统?

    人们使用消息队列或休息的方式是将每个微服务解耦到自己的网络服务器中,这样您就可以将它们部署到多个服务器上,它们仍然可以作为一个单元进行通信。

    在您的情况下,当您的所有代码彼此相邻时,为什么要引导 nodejs 服务器十几次?

    是的,你是对的,使用缓存进行通信会非常快,许多人为此使用 redis。

    然而,既然你所有的代码都在同一个地方,难道单个函数调用会更快吗?

    我推荐给你。

    将您的应用更改为单一服务器。在这种情况下,使用函数调用与您的模型通信。

    只要您准备好部署到云分布式环境。然后再次分裂。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-09
    • 2022-06-15
    • 1970-01-01
    • 2021-07-31
    • 2019-02-22
    • 1970-01-01
    • 2012-10-26
    • 2023-04-04
    相关资源
    最近更新 更多