【问题标题】:How to implement microservices [Node.js]?如何实现微服务 [Node.js]?
【发布时间】:2017-09-14 13:43:59
【问题描述】:

我是新手,实现微服务的最佳方法是什么?

我找到了类似seneca 的fw,但它有点令人困惑......

有没有什么tut如何在微服务中创建jwt auth、mongodb等人员?

【问题讨论】:

    标签: docker docker-compose microservices seneca


    【解决方案1】:

    看看 Docker。

    使用docker-compose,您可以轻松集成多种服务,而无需担心连接它们的 IP 地址。

    此外,如果您将 nginx 添加到您的堆栈中,扩展这些服务将非常容易,您可以查找一些视频和教程来帮助您入门。

    我听说过seneca,但是我没有用过,我认为你不应该依赖特定的框架,因为微服务背后的思想之一就是低耦合。

    【讨论】:

    • 谢谢,我也坚信我可以用dockerdocker-compose 解决所有问题...你能把那个tuts 发给我吗?你也听说过kubernetes.io 它有什么帮助吗?
    • 第一个帮助我理解基础知识的视频:youtube.com/watch?v=HJ9bECmuwKo 之后,我找到了这个 repo 来自动化 nginx 的东西:github.com/jwilder/nginx-proxy 去了解基本的东西,就像在第一个视频中一样,这将为您提供前进的道路。没用过Kubernates,我知道是微服务编排的“谷歌方式”,看起来很高级,专门用来监控的工具,但最后还是要花钱买的,反正你可以试试看看其中哪些更适合您的需求。
    • 谢谢,这篇文章还有一个问题:airpair.com/scalable-architecture-with-docker-consul-and-nginx我发现他使用了consul和consul模板来做什么?
    • 您不需要外部 DNS 服务器来进行服务发现,因为使用 docker-compose 您已经拥有它。我对 Consul 一无所知,但如果它与服务发现和 DNS 有关,则至少不需要入门。
    • 谢谢,我试过nginx-proxy repo,我在这里有一些问题:stackoverflow.com/questions/43483753/… 如果你能帮忙就太好了
    【解决方案2】:

    要跳入真正的微服务世界并非易事。这不是要安装一些 API,而是架构的根本变化,认为一开始会让你有点不舒服(例如,每个服务都有自己的数据库):)

    到目前为止,我读过的关于微服务的最好的书是The Tao of Microservices,作者是 Richard Rodger,Seneca 本人的作者。它很好地展示了从单体和面向对象的软件向微服务的转变。

    由于文档的平均质量(不一致等...),我个人在使用 Seneca 时遇到了一些困难。我更愿意推荐 Hemera,它的灵感来自 Seneca 的消息模式方法,但文档更好,更多 生产就绪

    【讨论】:

    • 我尝试了Seneca,但我不喜欢代码的编写方式...SenecaHemeranginx docker-compose 方法相反有什么好处?
    • @Vladimir nginxdocker-compose 是应用程序堆栈的 infrastructure 层。当业务领域很复杂时,SenecaHemera 非常适合业务模型 层。例如,它们启用了 Command Query Responsibility Segregation (CQRS) 等模式。
    【解决方案3】:

    1) 使用Docker Containers构建服务并部署它

    2) 让他们通过 gRPC 进行通信,因为服务间通信非常快。

    3) 使用BugsnagRollbar 之类的错误报告器。错误报告对于快速捕获错误非常重要。

    4) 使用opentracingopencensus 集成跟踪。跟踪也很重要,因为仅使用日志来监控所有微服务非常困难。

    【讨论】:

      猜你喜欢
      • 2018-04-25
      • 2020-09-20
      • 1970-01-01
      • 2021-01-06
      • 2018-10-28
      • 1970-01-01
      • 2019-11-01
      • 2018-03-08
      • 2018-07-17
      相关资源
      最近更新 更多