Eureka官方教程(一) Eureka一览

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eureka官方教程(一) Eureka一览相关的知识,希望对你有一定的参考价值。

参考技术A Eureka官方教程(一) Eureka一览
Eureka官方教程(二) 配置Eureka
Eureka官方教程(三) Eureka客户端服务器通信
Eureka官方教程(四) 自我保护模式
Eureka官方教程(五) Eureka REST操作

Eureka是一种基于REST(Representational State Transfer)的服务,主要用于AWS云,用于定位服务,以实现中间层服务器的负载平衡和故障转移。我们将此服务称为Eureka Server。Eureka还附带了一个基于Java的客户端组件Eureka Client,它使与服务的交互变得更加容易。客户端还有一个内置的负载均衡器,可以进行基本的循环负载均衡。在Netflix,一个更复杂的负载均衡器包含Eureka基于流量,资源使用,错误条件等多种因素提供加权负载平衡,以提供卓越的弹性。

在AWS云中,由于其固有的特性,服务器来来去去。与使用具有众所周知的IP地址和主机名的服务器的传统负载均衡器不同,在AWS中,负载均衡在使用负载均衡器注册和取消注册服务器时需要更加复杂。由于AWS尚未提供中间层负载均衡器,因此Eureka填补了中间层负载均衡领域的巨大空白。

AWS Elastic Load Balancer是面向最终用户Web流量的边缘服务的负载平衡解决方案。Eureka满足了中层负载平衡的需求。虽然理论上您可以将您的中间层服务置于AWS ELB之后,但在EC2 classic中,您会将它们暴露给外部世界,从而失去AWS安全组的所有实用性。
AWS ELB也是传统的基于代理的负载平衡解决方案,而使用Eureka则不同之处在于负载平衡发生在实例/服务器/主机级别。客户端实例知道他们需要与哪些服务器通信的所有信息。这是一种祝福或诅咒,取决于你看待它的方式。如果您正在寻找AWS现在提供的基于粘性用户会话的负载平衡,Eureka不提供开箱即用的解决方案。在Netflix,我们更喜欢我们的服务是无状态(非粘性)。这有助于实现更好的可扩展性模型,Eureka非常适合解决这个问题。
使用Eureka将基于代理的负载平衡与负载平衡区分开来的另一个重要方面是,您的应用程序可以适应负载均衡器的中断,因为有关可用服务器的信息会缓存在客户端上。这确实需要少量内存,但可以获得更好的弹性。

Route 53是一个命名服务,Eureka可以为中间层服务器提供相同的服务,但相似性在那里停止。Route 53是一种DNS服务,即使对于非AWS数据中心,它也可以托管您的DNS记录。Route 53还可以跨AWS区域执行基于延迟的路由。Eureka类似于内部DNS,与世界各地的DNS服务器无关。Eureka也是区域隔离的,因为它不了解其他AWS区域中的服务器。保存信息的主要目的是在区域内进行负载平衡。
虽然您可以使用Route 53注册中间层服务器并依赖AWS安全组来保护您的服务器免受公共访问,但您的中间层服务器身份仍然会暴露给外部世界。它还具有传统的基于DNS的负载平衡解决方案的缺点,其中流量仍然可以路由到可能不健康或甚至不存在的服务器(在AWS云的情况下,服务器可以随时消失)。

您通常在AWS云中运行,并且您有许多中间层服务,您不希望向AWS ELB注册或暴露来自外部世界的流量。您要么寻找一个简单的循环负载平衡解决方案,要么愿意根据您的负载平衡需求在Eureka周围编写自己的包装器。您不需要粘性会话并在外部缓存(例如memcached)中加载会话数据。更重要的是,如果您的架构适合基于客户端的负载均衡器的模型,Eureka可以很好地适应这种用途。

以上是关于Eureka官方教程(一) Eureka一览的主要内容,如果未能解决你的问题,请参考以下文章

注册中心Eureka

`spring-cloud-starter-eureka-server`和`spring-cloud-starter-netflix-eureka-server`之间的区别

整合spring cloud云服务架构 - eureka 基础(上)

随手记录关于spring-cloud-starter-eureka-server 和 spring-cloud-starter-netflix-eureka-server

springCloud --Eureka

Eureka