在Openshift上部署Spring微服务

在Openshift上部署Spring微服务,openshift,spring-cloud,openshift-3,Openshift,Spring Cloud,Openshift 3,我需要在Openshift上部署一些微服务。这些微服务是使用SpringCloud实现的。我使用springeureka进行服务发现/负载平衡,使用springzuul进行服务路由 据我所知,Openshift已经通过Kubernetes提供了这些功能(服务发现、负载平衡、路由) 说到这里,我可以将SpringEureka和SpringZuul与openshift平台集成吗 在Openshift中添加Spring Eureka和Spring Zuul组件难道不是多余的吗?因为平台本身已经提供了这

我需要在Openshift上部署一些微服务。这些微服务是使用SpringCloud实现的。我使用springeureka进行服务发现/负载平衡,使用springzuul进行服务路由

据我所知,Openshift已经通过Kubernetes提供了这些功能(服务发现、负载平衡、路由)

说到这里,我可以将SpringEureka和SpringZuul与openshift平台集成吗

在Openshift中添加Spring Eureka和Spring Zuul组件难道不是多余的吗?因为平台本身已经提供了这些微服务功能

我正在考虑删除ServiceRegistry和routing Spring组件,并使用Openshift实现路由。然而,这将使项目严重依赖于这个云平台

你的方法是什么?使用OpenShift提供的功能(路由、负载平衡)或使用Spring框架提供的功能,并尝试将它们与云平台集成


谢谢

这确实是多余的。 尤里卡可以被Kubernetes服务所取代。(它们为一组POD提供负载平衡器和域名) 为了公开您的服务,可以用OpenShift路由代替Zuul


如果您使用的是平台,请使用平台提供的功能。Kubernetes服务将在任何基于Kubernetes的平台上使用。因此,我认为这是一个容易更换,并保持您的耦合平台低。如果Zuul仅用于路由,则路由可能更困难;将其替换为OpenShift路由器。如果Zuul还有其他职责,比如安全,那么最好还是坚持使用Zuul。

我同意@Jeff的观点,我想补充一点,即使用spring Zuul作为网关,而不是openshift路线

  • 如果使用spring zuul作为网关,则提供从单点到集群的访问。否则,您的客户端必须知道通过openshift路由公开的url。它会增加代码的复杂性,并且很难维护。使用API网关的一个主要好处是它封装了应用程序的内部结构
  • 另一个是关于安全。如果您使用openshift-routes公开您的内部微服务,实际上您直接向公众打开了微服务的大门。此外,如果要使用JWT或安全令牌,应选择spring zuul
  • API网关为每种客户端提供特定的API。这减少了客户端和应用程序之间的往返次数