为了账号安全,请及时绑定邮箱和手机立即绑定

Zuul API GW 作为 docker 容器还是作为 Java Spring 应用程序的一部分?

Zuul API GW 作为 docker 容器还是作为 Java Spring 应用程序的一部分?

繁星淼淼 2021-11-24 18:53:46
我正在将我的单体应用程序分解为一组用 Java Spring 编写的微服务。作为微服务架构的一部分,我正在实施一些基本模式,例如服务发现、API 网关等。我使用“@EnableZuulProxy”将我的 API 网关实现为 Spring 启动应用程序,它是 Spring 云项目的一部分。我的问题是:我的实现和使用现成的 Zuul docker 镜像有什么区别?每种方法的优缺点是什么?
查看完整描述

2 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

这两种解决方案都支持在应用程序实例之间进行平衡。

主要区别在于:

  • Zuul API 网关

    • 无法自动启动新实例(您应该手动扩展)

    • 无需容器化您的应用程序

  • Docker 容器编排器(Docker Swarm、Kubernetes ...)具有自动扩展的能力(在需要时启动新实例)


查看完整回答
反对 回复 2021-11-24
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

如果您将 Zuul API 网关用作 jar 或 Docker 容器,则绝对没有区别。在这两种情况下,它都扮演 API 网关的角色。

Ops(来自 DevOps)、构建、检查、销毁和发布的方式、控制实例数量等方面存在差异。

如果您选择 Docker 作为基础架构的主要部分,并使用 Docker Swarm、Mesos & Marathon、Kubernetes、Nomad 等对其进行管理,那么将您的 API 网关包装到 Docker。

如果您手动运行 Docker 容器,使用控制台和docker run命令,您可以将 API 网关保留为 jar 构建。但是,你失去了容器化的所有好处。


查看完整回答
反对 回复 2021-11-24
  • 2 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信