迁移到 Kubernetes,还需要 Spring Cloud Eureka/Zuul?
Migrating to Kubernetes, still need Spring Cloud Eureka/Zuul?
我们正在工业化我们的第一个微服务应用程序,该应用程序主要使用 Spring Boot 2 构建。我们目前使用 Spring Cloud Zuul 进行路由,使用 Eureka 进行服务发现。
我们正在寻求在 AWS 上使用 Kubernetes(使用 EKS)。我的问题是 运行 Eureka 和 Zuul 的服务 discovery/routing 仍然有价值,或者它们可以被 Kubernetes 取代。
这完全取决于你想在这里实现什么。
如果您现有的应用程序正在向 Eureka 注册,并且您想使用这些服务,那么我会说是,以尽可能减少影响。如果您只打算使用 Kubernetes,那么使用它的注册表可能是有意义的。如果你想拥有一个混合系统,或者如果你想在未来从 Kubernetes 迁移到 X,还有其他人(例如 Consul、Eureka、Zookeeper)会是更好的选择。
如果您想要一个 API 网关作为入口点,那么您可以使用许多不同的解决方案(Spring Cloud Gateway、Apigee、haproxy、nginx 等)也可以使用云平台负载均衡器。基本上,您在 API 网关中的端点与 Kubernetes(服务)的负载均衡器地址之间创建路由。现在,如果您想使用智能负载平衡,例如。使用断路器模式,然后我会利用服务发现和 client-side 负载平衡的力量,并停止使用平台的负载平衡器。最后,一切都取决于您需要什么功能。
需要注意的是,大多数 Spring Cloud Netflix 组件已进入维护模式,请参阅此 post:https://spring.io/blog/2019/01/23/spring-cloud-greenwich-release-is-now-available#spring-cloud-netflix-projects-entering-maintenance-mode
我们正在工业化我们的第一个微服务应用程序,该应用程序主要使用 Spring Boot 2 构建。我们目前使用 Spring Cloud Zuul 进行路由,使用 Eureka 进行服务发现。
我们正在寻求在 AWS 上使用 Kubernetes(使用 EKS)。我的问题是 运行 Eureka 和 Zuul 的服务 discovery/routing 仍然有价值,或者它们可以被 Kubernetes 取代。
这完全取决于你想在这里实现什么。
如果您现有的应用程序正在向 Eureka 注册,并且您想使用这些服务,那么我会说是,以尽可能减少影响。如果您只打算使用 Kubernetes,那么使用它的注册表可能是有意义的。如果你想拥有一个混合系统,或者如果你想在未来从 Kubernetes 迁移到 X,还有其他人(例如 Consul、Eureka、Zookeeper)会是更好的选择。
如果您想要一个 API 网关作为入口点,那么您可以使用许多不同的解决方案(Spring Cloud Gateway、Apigee、haproxy、nginx 等)也可以使用云平台负载均衡器。基本上,您在 API 网关中的端点与 Kubernetes(服务)的负载均衡器地址之间创建路由。现在,如果您想使用智能负载平衡,例如。使用断路器模式,然后我会利用服务发现和 client-side 负载平衡的力量,并停止使用平台的负载平衡器。最后,一切都取决于您需要什么功能。
需要注意的是,大多数 Spring Cloud Netflix 组件已进入维护模式,请参阅此 post:https://spring.io/blog/2019/01/23/spring-cloud-greenwich-release-is-now-available#spring-cloud-netflix-projects-entering-maintenance-mode