如果我们在 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 registryEureka client discoveryRibbonSpring Cloud Netflix提供的客户端负载均衡器。

根据我的经验,在任何环境中使用Eureka 并非不可能。它可以是您的本地数据中心或云基础设施。但是在部署环境方面,我们有很多选择来实现服务器注册机制。有时这些替代方案是最好的解决方案。下面我给大家举个例子……

如果您在本地服务器(本地数据中心)中托管应用程序

现在在这种情况下,您可以使用Eureka 并继续您的服务器注册和发现机制。 (这不是唯一的方法。我在这个场景中提到了Eureka,因为这将是一个很好的用例)

如果您在 AWS 基础设施中托管应用程序

AWS 环境为您提供了许多好处和服务,让您可以忘记维护和实施Eureka 的负担。您可以通过AWS load balancersAWS target groups 甚至通过添加AWS auto scaling groups 来实现相同的行为。在 AWS it self 中,还有很多其他方法可以实现这一目标。

长话短说,对于您的方案,您可以继续使用Kubernetes 的强大功能并获得特权,除非您有特定理由使用Eureka 并付出大量努力来实现它。您应该根据时间、精力、可维护性、性能等选择最适合的。

希望这有助于您获得一个想法。编码愉快!

【讨论】:

我明白了。谢谢

以上是关于如果我们在 K8s 中部署应用程序时使用 Eureka Discovery、Ribbon 等 Spring Cloud,何时使用?的主要内容,如果未能解决你的问题,请参考以下文章

k8s - 为什么我们在部署时需要ReplicaSet

k8s部署-49-k8s日志采集的解决方案思路梳理

Docker 与 K8S学习笔记(十七)—— 在K8S集群中部署应用

k8s部署---多节点部署与负载均衡搭建

k8s实战之手动部署PHP项目和Java项目

深入k8s:k8s部署&在k8s中运行第一个程序