我通过阅读this article来学习Spring cloud Netflix,但是我开始对本文中的不同术语感到困惑,它们是:
Eureka服务。据我所知,它是一个普通服务(特别是微服务),运行在一个独特的uri(即每个uri服务)上。说localhost:12000
。它可以在Eureka服务器中注册。
Eureka Client。与Eureka服务相同???
Eureka Server。据我所知,它是我们可以检查,发现和管理我们构建的一系列微服务的服务器,通常在localhost:8761
<上运行/ p>
Eureka Instance。我对它所引用的内容感到困惑,与Eureka客户端一样?
同样在本文中,它在配置中提到eureka.client
,在Netflix API中提到EurekaClient
,它们是指同一个东西吗?
如果我错了,请告诉我这四个术语是什么意思并纠正我。谢谢!
================================== UPDATE ============ ======================
在文章中说:
@EnableEurekaClient
使应用成为Eureka&#34;实例&#34; (即 它注册了自己)和一个&#34;客户&#34; (即它可以查询注册表 找到其他服务)。
所以看起来Eureka实例与Eureka服务相同。虽然Eureka Client是一个可以查询其他实例/服务的特殊实例。
答案 0 :(得分:26)
Eureka Server
发现服务器。它包含服务注册表和REST api,可用于注册服务,注销服务,以及 发现其他服务的位置。
尤里卡服务
可以在Eureka Server的注册表中找到的任何应用程序 其他人可以发现。服务有时具有逻辑标识符 称为VIP,有时称为“服务ID”,可以指一个或 同一应用程序的更多实例。
Eureka Instance
任何向Eureka Server注册的应用程序 被他人发现
Eureka客户
任何可以发现服务的应用程序
如何将应用程序同时作为Eureka Instance和Eureka Client?
应用程序通常需要让其他人可以使用(因此它们是一个实例),同时他们需要发现其他服务(因此他们是客户端)。
Eureka客户端是否必须成为Eureka实例?
没有。有时,应用程序无法提供,只是其他服务的调用者。通过配置(eureka.client.register-with-eureka=false
),您可以告诉它不要将自己注册为实例。因此它只是一个Eureka客户端,因为它只发现其他服务。
答案 1 :(得分:21)
我会说这些术语有点含糊不清,这就是我认为它们在文章中的含义:
Eureka客户端:它可以是一个准备工作的微服务,因此它将自己注册到Eureka服务器,例如某个应用程序的API,或者某个应用程序的API,它会转到服务器并询问指向特定微服务的方向。
Eureka Instance :微服务的单个实例(您可以在负载增加时添加更多相同微服务的实例,即水平扩展)。
Eureka服务:看起来当您将微服务注册为Eureka客户端时,您将获得通过ID注册的Eureka服务。
Eureka Server :微服务可以自行注册的服务器,以便其他人可以发现它们。
关于您添加的更新:
Eureka Instance 不应与Eureka Service 混淆。 Eureka 服务是指向Eureka Server注册的提供相同服务的微服务实例组。
关于那个@EnableEurekaClient
注释,它告诉框架如下:你好Spring,我是微服务X的一个实例,所以请注册我到Eureka服务器(带eureka.instance.*
属性),我也想发现其他服务,所以为我创建必要的发现客户端bean(具有eureka.client.*
属性)。
总之,这个名为@EnableEureka 客户端的注释可以完成这两件事,也许这就是混乱的来源。但 Instance 和 Client 确实是不同的概念,即使它们在本文中有些可互换使用。
答案 2 :(得分:4)
我认为他们看起来像这张照片。
答案 3 :(得分:0)
让我们举个例子。
Spring-cloud-netflix-turbine使用Eureka汇总各个微服务的指标。它需要知道云中任何时候运行的每个微服务实例的地址。实例数可以上下变化。
Eureka Server: Turbine查询Eureka服务器以获取对注册表的访问权限。使用注册表,它决定了所有参与的微服务,它们的终点以及更多。
尤里卡服务 Euerka服务器向涡轮机(参与者微服务列表)提供的信息就是服务。服务器可以提供多种服务。
Eureka Instance 所有希望聚合指标的微服务都是Eureka实例。实例不仅可以查询注册表,还可以注册,取消注册,提供听力节拍以保持注册等。
Eureka客户 Turbine是客户。只有查询注册表才能确定正在运行的微服务实例。
答案 4 :(得分:0)
来自官方documentation:
Eureka带有两个组件-Eureka Client和Eureka Server。您使用Eureka的架构通常会有两个应用程序
设置涉及以下内容
Eureka实例表示Application客户端的单个节点。