gpt4 book ai didi

rest - 它如何将各种微服务与Docker连接起来?

转载 作者:行者123 更新时间:2023-12-02 09:15:02 26 4
gpt4 key购买 nike

我在 Docker 中有两个微服务,我想将一个与另一个连接起来,但我不知道该怎么做。这两个(以及 future 的应用程序)是带有 Spring-boot 的 API Rest,我正在搜索信息、教程……但我什么也没看到。我的想法是有一个主应用程序,它能够与其他微服务连接,它们是 API Rest,然后这个主应用程序发布,所有这些我想把它放在容器 (Docker) 中。

这可能吗?

有人知道解释这个的任何教程吗?

非常感谢!

最佳答案

您所描述的可能是一个API 网关Here是一个很好的教程,解释了这种模式。

实现一个 API 网关,它是所有客户端的单一入口点。 API 网关以两种方式之一处理请求。一些请求只是代理/路由到适当的服务。它通过分散到多个服务来处理其他请求。

enter image description here

此模式的一个变体是前端模式的后端。它为每种客户端定义了一个单独的 API 网关。

enter image description here

使用 API 网关有以下好处:

  • 使客户端与应用程序如何划分为微服务无关

  • 将客户端与确定服务实例位置的问题隔离开来

  • 为每个客户端提供最佳 API

  • 减少请求/往返次数。例如,API 网关使客户端能够通过单次往返从多个服务中检索数据。更少的请求也意味着更少的开销并改善用户体验。 API 网关对于移动应用至关重要。

  • 通过将调用多个服务的逻辑从客户端转移到 API 网关来简化客户端

  • 将“标准”公共(public)网络友好 API 协议(protocol)转换为内部使用的任何协议(protocol)

API 网关模式有一些缺点:

  • 复杂性增加 - API 网关是另一个必须开发、部署和管理的事件部分

  • 由于通过 API 网关的额外网络跃点增加了响应时间 - 然而,对于大多数应用程序来说,额外往返的成本微不足道。

API网关如何实现?

如果必须扩展以处理高负载,则事件驱动/响应式(Reactive)方法是最佳选择。在 JVM 上,Netty、Spring Reactor 等基于 NIO 的库才有意义。 NodeJS 是另一种选择。

关于rest - 它如何将各种微服务与Docker连接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48004725/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com