SpringCloud-Eureka的理解与应用

啥是Eureka

Eureka是Netflix开发的服务发现组件,本身是一个基于REST的服务。Spring
Cloud将它集成在其子项目spring-cloud-netflix中,以实现Spring
Cloud的服务注册于发现,同时还提供了负载均衡、故障转移等能力。

为啥用Eureka

在前后端分离架构中,服务层被拆分成了很多的微服务,Spring Cloud中提供服务注册中心来方便管理微服务信息。

微服务数量众多,要进行远程调用就需要知道服务端的ip地址和端口,注册中心帮助我们管理这些服务的ip和端口。

微服务会实时上报自己的状态,注册中心统一管理这些微服务的状态,将存在问题的服务踢出服务列表,客户端获取到可用的服务进行调用。

Eureka中的三种角色分别是啥玩意儿

1、Eureka Server

通过Register、Get、Renew等接口提供服务的注册和发现。

2、Application Service (Service Provider)

服务提供方
把自身的服务实例注册到Eureka Server中

3、Application Client (Service Consumer)

服务调用方
通过Eureka Server 获取服务列表,消费服务。

Eureka服务工程单机环境搭建

1.创建Eureka工程(启动类)

在这里插入图片描述

2.引入坐标(Eureka客户端的依赖)
<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Finchley.RC2</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<repositories>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/libs-milestone</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>
3.配置信息(application.yml)
    #设置eureka注册中心的hostname
    eureka.instance.hostname=localhost
    #禁止向自己注册
    eureka.client.register-with-eureka=false
    #不用减检索其他服务
    eureka.client.fetch-registry=false
    #注册中心地址
    eureka.client.service-url.defaulZone=http://${eureka.instance.hostname}:${server.port}/eureka/
4.启动服务访问

eureka

Eureka高可用集群

在这里插入图片描述

在分布式系统中,高可用性是必须考虑的,不能存在单点故障,as is known to all! Eureka本身它是一个服务,可以看做一个提供者,也可以看做一个消费者,我们可以通过配置让注册中心注册他本身,也可以向其他注册中心注册自己,高可用实际上就是将自己作为服务,向其他服务注册中心注册自己罢了,这么看来也没有想象的那么牛比,嘿嘿嘿!
当你往注册中心A注册服务时,他会被复制同步到注册中心B上面,所以任何一台注册中心都能查询到已经注册的服务,从而达到高可用的效果!

说了这么多’废话’,怎么搭建呢?

给大家示范搭建一个双节点服务注册中心集群

敲黑板!!! 注意了 注意了
1.eureka服务下新建两个配置文件
在这里插入图片描述
2.两个配置文件内容分别如下图
在这里插入图片描述
在这里插入图片描述

3.为什么说上图中eureka9011和eureka9012都是映射的本地地址,因为我在host中添加下面这东西
在这里插入图片描述
4.两个eureka注册中心已经相互指向对方,写两个引导类分别启动两个服务(另外一个请独立完成)
在这里插入图片描述

5.启动两个项目即可

猜你喜欢

转载自blog.csdn.net/mrhs_dhls/article/details/107684012