01、SpringCloud Eureka Server
2020-03-14 本文已影响0人
adced06edef5
一、代码实例
说明:此处使用的SpringBoot版本为2.1.13.RELEASE,SpringCloud版本为Greenwich.SR5
1.maven依赖
parent pom.xml
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.SR5</spring-cloud.version>
<spring-boot.version>2.1.13.RELEASE</spring-boot.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>${java.version}</maven.compiler.target>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>cloud01</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>
<delimit>$</delimit>
</delimiters>
</configuration>
</plugin>
</plugins>
</build>
server子模块依赖
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
2.application.yml配置
server:
port: 7001
spring:
application:
name: server
eureka:
client:
#要不要去注册中心获取其他服务的地址
fetch-registry: false
#自己就是注册中心,不用注册自己
register-with-eureka: false
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
instance:
hostname: localhost
3.启动类
启动类增加@EnableEurekaServer表示该服务是一个eureka注册服务
@SpringBootApplication
@EnableEurekaServer
public class Server7001Application {
public static void main(String[] args) {
SpringApplication.run(Server7001Application.class,args);
}
}
测试验证
访问http://localhost:7001/
结果如下:

表明服务启动成功
以上为单个server,若是多个server,则需要进行相互注册,本利以windows下模拟为例。
首先在C:\Windows\System32\drivers\etc\hosts中添加如下映射
127.0.0.1 eureka7001
127.0.0.1 eureka7002
127.0.0.1 eureka7003
以上表示,访问eureka7001、eureka7002、eureka7003时其实访问的时本地。
将上述的server复制2份,分别为server2、server3,注意修改端口号,同时修改application.yml中的eureka.client.service-url.defaultZone,代码如下:
server2的application.yml
server:
port: 7002
spring:
application:
name: server
eureka:
client:
#要不要去注册中心获取其他服务的地址
fetch-registry: false
#自己就是注册中心,不用注册自己
register-with-eureka: false
service-url:
defaultZone: http://eureka7001:7001/eureka/,http://eureka7003:7003/eureka/
instance:
hostname: localhost
instance-id: server-7002
server3的application.yml
server:
port: 7003
spring:
application:
name: server
eureka:
client:
#要不要去注册中心获取其他服务的地址
fetch-registry: false
#自己就是注册中心,不用注册自己
register-with-eureka: false
service-url:
defaultZone: http://eureka7001:7001/eureka/,http://eureka7002:7002/eureka/
instance:
hostname: localhost
instance-id: server-7003
当然server的eureka.client.service-url.defaultZone也要做相应修改,对应值份server2和server3的地址
defaultZone: http://eureka7002:7002/eureka/,http://eureka7003:7003/eureka/
分别启动server、server2、server3,然后分别访问http://eureka7001:7001/、http://eureka7002:7002/、http://eureka7003:7003/
效果分别如下:



说明配置生效。
github:
https://github.com/panli1988/cloud01
https://github.com/panli1988/cloud02
参考:
https://blog.csdn.net/forezp/article/details/70148833
http://www.itmuch.com/spring-cloud/spring-cloud-index/
还有尚硅谷周阳老师的视频