Spring Cloud 入门教程(一): Eureka 服务注册
创建一个Maven工程,New-Other-Maven-Maven Probject
点击Next,红色框里的选上
点击Next
点击Finsh就完成了一个Maven Probject的创建。
(1)接下来配置Maven工程下的pom文件
<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"> <modelVersion>4.0.0</modelVersion> <groupId>com.cn.study</groupId> <artifactId>eureka.server</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <!--eureka server --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <!-- spring boot test--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Dalston.RC1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> </project>
(2)创建一个服务类EurekaServerApplication,需要一个注解@EnableEurekaServer加在springboot工程的启动类上
(3)在resource目录下创建appication.yml,也可以创建appication.properites。2种方式为什么选用yml?是因为yml在很多配置的情况下更好的修改,它的存储试以key/value方式。properites的文件如果配置内容过多,没有放在一起的话,修改可能会忘掉,会造成一些不必要的麻烦。当然的写2个名称相同的文件同时存在也是可以的,只不过有优先级问题。properites文件优先级比yml的更高,最好是不要同时使用2个名称相同的文件。
以下2种写法都一样:
register-with-eureka和registerWithEureka一样
fetch-registry和fetchRegistry一样
当fetch-registry: true时报错如下图,报错原因是:在默认设置下,eureka服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为
解决方法:
(4)启动服务
(5)创建一个Maven工程Eureka Client,pom文件内容如下:
<?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"> <modelVersion>4.0.0</modelVersion> <groupId>com.cn.study</groupId> <artifactId>eureka.client</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springcloud.helloworld.eureka.client</name> <packaging>jar</packaging> <description>Demo Spring Boot Client</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Dalston.RC1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> </project> pom.xml
(6)创建类ServiceApplication
(7)配置eureka.client的文件appication.yml
(8)启动ServiceApplication,并访问
(9)Eureka的自我保护机制
保护模式主要用于一组客户端和Eureka Server之间存在网络分区场景下的保护。一旦进入保护模式,Eureka Server将会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据(也就是不会注销任何微服务)。
- spring cloud快速入门教程(二)服务注册中心Eureka
- Spring Cloud 入门教程 - Eureka服务注册与发现
- Spring Cloud 入门教程 - Eureka服务注册与发现
- SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(Finchley版本)
- [SpringCloud] 入门-第一篇: 注册服务和client(Eureka)
- SpringCloud入门教学|第一篇:服务的注册和发现(Eureka)
- spring-cloud入门之eureka-client(服务注册)
- Spring Cloud Eureka 入门 (一)服务注册中心详解 「Spring Cloud Eureka 入门系列」 Spring Cloud Eureka 入门 (一)服务注册中心详解 Spr
- Spring Cloud Eureka 入门 (一)服务注册中心详解
- Spring Cloud Eureka 入门 (一)服务注册中心详解
- SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
- Spring Cloud 入门教程(一): 服务注册
- SpringCloud构建微服务入门架构(二)服务注册与发现Eureka集群搭建
- 跟我学Spring Cloud(Finchley版)-05-服务注册与服务发现-Eureka入门
- SpringCloud入门:03-SpringCloud实战-微服务注册和发现Eureka
- SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
- Spring Cloud 入门教程(一): 服务注册
- SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
- Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现
- Spring Cloud Eureka 实现服务注册与发现