微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SpringCloud学习随笔-Eureka

1.什么是Eureka?

Eureka是Springcloud里连接客户端和服务端所使用的基于REST的服务框架。相当于服务代理。 (我(客户端)要去网吧上网,网吧有很多台机子(服务端),但是我得先找网管(Eureka))

2.Eureka的使用(单例和集群)

1.创建一个Springboot工程,修改端口号为Eureka使用的端口号(这里用的是7001为例) (先设置网管,以后登录时必须网管先上线,再启动机子,客户端才能通过网管找到机子)

2.修改pom,添加eureka的server端

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>cloud2020</artifactId>
<groupId>com.atguigu.springcloud</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud-eureka-server7001</artifactId>
<dependencies>
<!--eureka-server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>com.atguigu.springcloud</groupId>
<artifactId>cloud-api-commons</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--一般为通用配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>

3.创建applicaition.yml

 

 自我保护机制:当服务台大量宕机时,eureka会启动自我保护机制,不会断开eureka和server端的连接。

服务台宕机分为两种:一种是服务台本身出错,这种情况是出现在个别服务台,eureka会进行清退废弃服务台。一种是网络问题使得eureka和所有服务台的连接都中断,这时候eureka就会启动自我保护机制。让服务端虽然都不能使用但是都在eureka里不会清退。

4.在启动项里增加@EnableEurekaServer注解

此时eureka就已经部署好,可以创立服务端与客户端对eureka的对接。

注:在eureka下,只有代理是server,其他的都是client

5.转到我们的服务端8001

修改pom,添加server,和7001的pom一样,把后面的server改成client即可。

踩坑:这里我一直注入不进去,会报红,但是build显示成功,这时候只要进入maven的目录中,找到

spring-cloud-starter-netflix-eureka-client 所在的文件夹,删除再重新导入即可.

修改yml, 下面的图为添加内容并不是全部

 

修改controller(不修改也行,主要是为了让我们看到效果而已),在启动项添加注解@EnablediscoveryClient    注:这项我虽然略过,但是@EnablediscoveryClient 在后面会经常使用.

 

80端口的pom,yml设置和8001一样,但是controller有很大变化:

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐