所在的位置: mysql >> mysql资源 >> Eureka简介

Eureka简介

思维导图如下

Eureka在微服务中的位置

Eureka在微服务中的位置为注册中心,注册中心管理的功能有以下几点:

1.服务的注册。

2.服务的发现

3.服务的熔断

4.服务的负载

5.服务的降级

按照网站的发展历史来进行说明。

最开始,是单体应用,所有的都被封装在一个SpringBoot中。

如下图:

后来由于维护不方便等各种原因,开始进行拆分,拆分成为一个个的类

类与类之间通过new的方法相互调用。

伴随着流量的加大,进行应用的拆分。

应用之间通过Feign等方式进行远程调用。

有了注册中心,通过注册中心的方式进行调用。

这个时候的调用就变成了,项目A调用项目B的时候,先通过注册中心,找到代理的地址,通过注册中心的代理地址,找到应用B。

两者之间相互进行调用。

这个时候,各个应用之间,不需要知道各自的ip地址,只需要通过注册中心的方式,由注册中心,代为提供地址。

这个时候,注册中心起到代理的作用。

到这一步,注册中心,就有了相当多的高级功能,例如服务的注册,服务的发现,服务的负载,服务的降级。

客户端-服务端的通信方式

这里将会主要介绍,服务注册中心的通信方式,客户端-服务端的通信方式。

这种通信方式,有两种通信方式,分别为socket通信和Http通信这两种方式。

基础知识

Socket

socket为一种抽象层,应用程序通过其发送和接受数据,使用socket可以把应用程序添加到网络中,与处于同一网络中的应用程序进行通信。

具体分为流套接字,和数据报套接字。这两种套接字,分别基于Tcp,和Udp,这两种方式。

具体通信模型为

Http

Http分为Post,Get,Delete,Put,这四种通信方式。

这四种通信方式,分别描述了对于一个资源的增删查改。

用一张表格进行介绍:

用一句话进行简单的描述,在Get请求的时候,取得了该文章的主题,Post增加了该文章,Put对文章进行修改,Delete表示对文章的删除。

EurekaServer与EurekaClient

EurekaServer与EurekaClient之间的关系如下图所示:

ServiceProvider与ServiceConsumer都为EurekaClient服务的提供方和服务的消费方都通过EurekaServer实现相关的交流通信。

EurekaServer

上方为一个简单的EurekaServer

通过在配置上增加

  

EnableEurekaServer   并添加相关的Maven依赖

  org.springframework.cloud   spring-cloud-starter-eureka-server   就可以运行启该EurekaServer。

EurekaClient

EurekaClient为微服务的客户端,分为两个部分,分别为ServiceConsumer与ServiceProvider,这两种方式。一个为微服务的服务提供方,一个为微服务的服务消费方,这两方共同作用,相辅相成,以Server为纽带,相互联系。

客户端向注册中心注册的时候,会提供一系列的元信息,例如主机,端口,健康检查的URL,主页等,服务会不断的发送心跳信息,进行健康检查,如果某个服务在30s外仍然没有接受到注册中心的信息,将会在注册中心,移除掉该列表内容。

最为核心的一点,是健康检查

具体操作为先添加相关的依赖

dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency然后在启动类上添加相关的注解。

EnableDiscoveryClient然后再次添加相关的配置文件

server:port:#运行端口号spring:application:name:eureka-client#服务名称eureka:client:register-with-eureka:true#注册到Eureka的注册中心fetch-registry:true#获取注册实例列表service-url:defaultZone:


转载请注明:http://www.aierlanlan.com/rzgz/3588.html