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

时间:2018-10-18 11:48:47

标签: java spring-cloud netflix-zuul spring-cloud-netflix

我正在将我的整体应用程序分解为一组用Java Spring编写的微服务。作为微服务架构的一部分,我正在实现一些基本模式,例如服务发现,API网关等。 我使用Spring Cloud项目的一部分“ @EnableZuulProxy”将API网关实现为Spring引导应用程序。 我的问题是:

  1. 我的实现和使用Zuul码头工人有什么区别 现成的图片?
  2. 每种方法的利弊是什么?

2 个答案:

答案 0 :(得分:1)

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

(与DevOps相比)Ops,在构建,检查,销毁和发布方式,控制实例数量等方面存在差异。

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

如果您使用控制台和{{1}}命令手动运行Docker容器,则可以将API网关保留为jar版本。但是,这样就失去了容器化的所有好处。

答案 1 :(得分:0)

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

主要区别是:

  • Zuul API GW

    • 无法自动启动新实例(您应该手动扩展)
    • 无需容器化您的应用程序
  • Docker容器编排器(Docker Swarm,Kubernetes ...)具有自动扩展的能力(需要时启动新实例)