Java教程

SpringCloud学习随笔-Eureka

本文主要是介绍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有很大变化:

 

 

 

这篇关于SpringCloud学习随笔-Eureka的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!