我需要在Openshift上部署一些微服务。这些微服务是使用Spring Cloud实现的。我使用Spring Eureka进行服务发现/负载平衡,并使用Spring Zuul进行服务路由。
据我了解,Openshift已经通过Kubernetes提供了这些功能(服务发现,负载平衡,路由)。
话虽如此,我可以将Spring Eureka和Spring Zuul与openshift平台集成吗?
将Spring Eureka和Spring Zuul组件添加到Openshift中是否是多余的,因为该平台本身已经提供了这些微服务功能?
我当时正在考虑删除服务注册表和路由Spring组件,而只是使用Openshift实现路由。但是,这将使该项目严重依赖此云平台。
您的方法是什么?使用OpenShift提供的功能(路由,负载平衡)还是使用Spring框架提供的功能,并尝试将它们与云平台集成?
谢谢
答案 0 :(得分:1)
这确实是多余的。 Eureka可以用Kubernetes服务代替。 (它们为一组Pod提供负载均衡器和域名) 可以用OpenShift路由代替Zuul来公开您的服务。
如果使用平台,请使用平台提供的功能。 Kubernetes服务将在任何基于Kubernetes的平台上使用。因此,我认为这是很容易更换的组件,可将您与平台的耦合保持在较低水平。如果Zuul仅用于路由,则路由可能会更加困难;将其替换为OpenShift路由器。如果Zuul还负有其他责任,例如安全,那么最好坚持Zuul。
答案 1 :(得分:0)
我同意@Jeff,我想补充一下使用 spring zuul 作为网关而不是 openshift路线: