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