SpringCloud第一章 Eureka服务注册与发现组件
Eureka两大组件
Eureka Server: 服务注册中心,主要提供注册共嗯那个,当微服务启动时会将自己的服务注册到Eureka Server上。它维护了一个可用服务列表,存储了所有注册到Eureka Server的可用服务的信息。可以再Eureka Server构建微服务轻松的与Eureka 进行整合
Eureka Client: Eureka客户端 , 通常指的是各个微服务。主要用于和Eureka Server进行交互,再微服务启动后,Client会向Server发送心跳,默认30秒一次。若Client未发送心跳则从Server列表移除(就是让服务端值到自己还或者,给我留个位子)
实现步骤:
1.创建一个父项目(Springboot或者Maven项目)
2.再pom文件中导入父文件的依赖
<!--在父项目中导入-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR5</version>
<type>pom</type>
<scope>compile</scope>
</dependency>
3.创建服务端server模块,创建两个,方便后面做集群处理(建立再父项目里面)
4.创建多个客户端Client模块,可以更加直观的展示
5.将创建的server和client与父项目相互关联
<!-- 父pom文件中创建连接的多个model模块 -->
<packaging>pom</packaging>
<modules>
<module>Eureka_Server</module>
<module>Eureka_Server_2</module>
<module>client_2</module>
<module>client_1</module>
</modules>
<!-- 将子文件的parent替换成从父亲那里获取资源 -->
<!-- 对比一下参数,可以很容易从父项目的pom文件中找到 -->
<parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
6.然后分别给client和server添加相关的依赖
<!-- 客户端 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
<!-- 服务端 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
7.配置相关的application.yml文件
(1)配置端口号
server.port=8081
spring.application.name= eureka_server //设置相关的名字
(2)eureka的相关配置(如果是服务端就将开启注册和抓取设置为false,表示不向自己注册)
eureka.instance.prefer-ip-address=true // 设置为IP优先
eureka.client.register-with-eureka=true //开启注册
eureka.client.fetch-registry=true //开启抓取
eureka.client.service-url.defaultZone=http://eureka_server_2:8081/eureka //这里表示添加注册的地址,意思是当我们使用集群的时候需要向其他的Eureka Server注册,这里的eureka_server_2表示的是IP地址,需要修改hosts文件
8.修改启动文件
分别在服务端和客户端的启动文件中添加@EnableEurekaClient或者@EnableEurekaServer表示开启Eureka服务
9.修改hosts文件,因为需要开启集群处理,所有hosts文件需要给自己的名字搭配一下名称(不了解的可以先去了解一下hosts文件的作用)
10.最后就是开启项目了,依次打开,先开服务器,在打开客户端,最后进入localhost:8081和另一个服务端端口
11.最后样例:
DS Replicas下表示的是你的Eureka Server
Instances currently registered with Eureka下表示的是Eureka Client的个数和相关文件