如果我们在 K8s 中部署应用程序时使用 Eureka Discovery、Ribbon 等 Spring Cloud,何时使用?
Posted
技术标签:
【中文标题】如果我们在 K8s 中部署应用程序时使用 Eureka Discovery、Ribbon 等 Spring Cloud,何时使用?【英文标题】:When to use spring cloud like Eureka discovery,Ribbon etc if we have the same while we deployed the application in K8s? 【发布时间】:2021-11-07 11:14:06 【问题描述】:我们在 Spring Cloud 中有负载均衡、发现等。但是同样的负载均衡,发现也可以在 Kubernetes 中使用。所以只是想知道我们什么时候应该使用 Spring Cloud(负载平衡或发现)以及什么时候使用 Kubernetes
【问题讨论】:
【参考方案1】:这取决于您的用例。在某些情况下,您需要直接使用Spring Cloud Netflix
提供的Eureka server registry
和Eureka client discovery
。 Ribbon
是Spring Cloud Netflix
提供的客户端负载均衡器。
根据我的经验,在任何环境中使用Eureka
并非不可能。它可以是您的本地数据中心或云基础设施。但是在部署环境方面,我们有很多选择来实现服务器注册机制。有时这些替代方案是最好的解决方案。下面我给大家举个例子……
如果您在本地服务器(本地数据中心)中托管应用程序
现在在这种情况下,您可以使用Eureka
并继续您的服务器注册和发现机制。 (这不是唯一的方法。我在这个场景中提到了Eureka
,因为这将是一个很好的用例)
如果您在 AWS 基础设施中托管应用程序
AWS
环境为您提供了许多好处和服务,让您可以忘记维护和实施Eureka
的负担。您可以通过AWS load balancers
、AWS target groups
甚至通过添加AWS auto scaling groups
来实现相同的行为。在 AWS it self 中,还有很多其他方法可以实现这一目标。
长话短说,对于您的方案,您可以继续使用Kubernetes
的强大功能并获得特权,除非您有特定理由使用Eureka
并付出大量努力来实现它。您应该根据时间、精力、可维护性、性能等选择最适合的。
希望这有助于您获得一个想法。编码愉快!
【讨论】:
我明白了。谢谢以上是关于如果我们在 K8s 中部署应用程序时使用 Eureka Discovery、Ribbon 等 Spring Cloud,何时使用?的主要内容,如果未能解决你的问题,请参考以下文章