SpringCloud学习(二)创建eureka及eureka集群
1.IDEA创建SpringBoot工程 eureka
先创建普通文件夹plateform,用于放置配置工程
再创建springboot项目
选择next,配置对应groupId及artifactId,不选择maven依赖,直接next
配置注册中心工程存放位置,点击finish创建工程
2.配置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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.liulin</groupId>
<artifactId>spring-cloud-eureka</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-cloud-eureka</name>
<description>SpringCloud聚合学习配置服务中心</description>
<parent>
<groupId>cn.liulin</groupId>
<artifactId>spring-cloud-integration</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<!--
eureka配置注册依赖
-->
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
</project>
3.解决可能存在的报错信息
将import org.junit.jupiter.api.Test;
替换为import org.junit.Test;
4.添加注解及配置文件
在启动类上添加@EnableEurekaServer
将application.properties修改为application.yml
#应用端口,Eureka服务端默认为:8761
server:
port: 9999
#通过eureka.client.registerWithEureka:false和fetchRegistry:false来表明自己是一个eureka server.
eureka:
instance:
# 应用实例主机名
hostname: localhost
client:
# 是否向注册中心注册自己,缺省:true
register-with-eureka: false
# 是否从Eureka获取注册信息,缺省:true
# 一般情况下,Eureka服务端是不需要的
fetch-registry: false
# Eureka服务器的地址,类型为HashMap,缺省的Key为 defaultZone;缺省的Value为 http://localhost:8761/eureka
# 如果服务注册中心为高可用集群时,多个注册中心地址以逗号分隔。
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
#应用名称,将会显示在Eureka界面的应用名称列
spring:
application:
name: spring-cloud-eureka
5.直接访问eureka信息
http://127.0.0.1:9999/
6.创建eureka集群
主要更改application.yml信息
#应用端口,Eureka服务端默认为:8761
server:
port: 9999
#通过eureka.client.registerWithEureka:false和fetchRegistry:false来表明自己是一个eureka server.
eureka:
instance:
# 应用实例主机名
hostname: localhost
client:
# 是否向注册中心注册自己,缺省:true
register-with-eureka: false
# 是否从Eureka获取注册信息,缺省:true
# 一般情况下,Eureka服务端是不需要的
fetch-registry: false
# Eureka服务器的地址,类型为HashMap,缺省的Key为 defaultZone;缺省的Value为 http://localhost:8761/eureka
# 如果服务注册中心为高可用集群时,多个注册中心地址以逗号分隔。
service-url:
# defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
defaultZone: http://127.0.0.1:9999/eureka/,http://127.0.0.1:9998/eureka/
#应用名称,将会显示在Eureka界面的应用名称列
spring:
application:
name: spring-cloud-eureka
启动两个eureka服务,观察是否互相注册
需要注意的是,http://127.0.0.1:9999/eureka/,http://127.0.0.1:9998/eureka/,本地只能使用ip127.0.0.1一次,如果需要本地测试多个eureka互相注册,建议更改host映射
再启动客户端,看是否在一个eureka注册时,另外一个也注册进来
#当eureka为集群时,不代表当前客户端需要在Eureka Server注册三次,这里只需要注册一次就可以了,但是为什么要写三个地址,只要有一台服务还建在,那么就可以注册服务。
#defaultZone: http://localhost:9999/eureka/,http://localhost:9998/eureka/