【问题标题】:microservice architecture in node jsnode js中的微服务架构
【发布时间】:2021-07-02 00:32:49
【问题描述】:

如果我为不同的服务使用不同的端口并共享同一个数据库,那我可以称之为微服务架构吗?比如在 8080 端口运行订单服务,在 8081 端口运行结账服务。

【问题讨论】:

  • 试试graphql,我认为它与微服务有相同的概念,但更有趣、更灵活:D,当然更容易实现。

标签: node.js express architecture microservices


【解决方案1】:

很遗憾,不,它要复杂得多,我建议花一些时间在互联网上阅读那些能够比我更好地解释它的人,但长话短说至少你应该有:

  • 独立的应用程序,每个都有自己的数据库。当然每个应用都在不同的端口上
  • 您很可能希望使用 docker 将它们容器化,我个人建议使用 kubernetes 编排容器,在这种情况下,您需要为每个应用程序提供一个部署文件和一个 clusterIP 服务(详细了解“pods”、“deployments”等在 Kubernetes 上)
  • 独立的服务不应该相互联系,而是使用所谓的event bus。您会想了解更多相关信息
  • 您可以通过事件总线同步每个服务的数据库。您会复制一些数据,但这是可以接受的,因为存储成本低廉且服务独立性更为重要。
  • 当然,您最终需要负载均衡器才能访问您的应用程序

至少这是我最初想到的。您可以将其作为起点并进行更多研究,但作为提示,这并不容易。整个服务的数据一致性通常很糟糕。

【讨论】:

    猜你喜欢
    • 2015-12-26
    • 1970-01-01
    • 2021-11-02
    • 2017-03-19
    • 2018-05-12
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    相关资源
    最近更新 更多