springcloud注册中心-Eureka入门案例
创建项目
pom文件中添加springboot和springcloud的坐标,包含版本信息,这样项目下各模块的pom文件中引入坐标,不再需要添加版本号了。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.9.RELEASE</version>
</parent>
<properties>
<spring-cloud.version>Hoxton.SR10</spring-cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<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>
注意:springboot和springcloud的版本需要对应,具体查看官方文档。
创建模块
服务端
pom文件中引入坐标
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
application.yml文件中设置端口,注册地址等信息
server:
port: 8888 # 注册中心端口
spring:
application:
name: eurekaserver # 服务名称
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:${server.port}/eureka # 注册中心服务地址,服务端把自己也作为客户端注册到注册中心,多服务端集群部署时使用
启动类添加注解@EnableEurekaServer
客户端
pom 文件引入坐标
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency><!--不添加此坐标,可能出现客户端注册不到服务端的情况-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
</dependencies>
application.yml文件中设置端口,注册地址等信息
spring:
application:
name: userservice #客服务名称
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8888/eureka #注册中心服务端地址
server:
port: 9999 # 客户端的端口
启动类添加注解@EnableEurekaClient
启动多个服务或者客户端
启动服务端、客户端,访问http://127.0.0.1:8888,查看已注册的服务。
以启动两个客户端为例
设置vm options 改变端口避免冲突 -Dserver.port=7777:
启动端口为7777的客户端后,访问注册中心,注册成功: