首先创建一个基本的微服务项目,可参考(juejin.cn/post/712723…)。
第一步:
在总总项目下创建一个新的models
编写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">
<parent>
<artifactId>clouddemo</artifactId>
<groupId>org.example</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud-server-eureka</artifactId>
<dependencies>
<!--eureka服务端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<!--实体类-->
<dependency>
<groupId>org.example</groupId>
<artifactId>cloud-commons-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!--web服务-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--boot web actuator-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--通用依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
</project>
第二步:
在resources文件夹下创建配置文件
文件内容:
#服务端口
sesrver:
prot: 6060
eureka:
instance:
hostname: eureka6060.com #eureka服务端的实例名称
client:
register-with-eureka: false #false表示不向注册中心注册自己。
fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
defaultZone: http://eureka7070.com:7070/eureka/ #用于eureka集群的访问控制,单机就是指向自己
第三步:
创建启动类
package com.cloudtest.eureka;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class,args);
}
}
此时eureka注册中心模块就创建完毕了,之后的任务就是将项目中的微服务注册如Eureka中。
服务注册
在已有的子项目oom文件中引入eureka client依赖
<!--eureka注册中心 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
在application配置文件中添加eurekaclient配置
#eureka注册中心配置
eureka:
client:
register-with-eureka: true #表示是否将自己注册进eureka 默认为true
fetch-registry: true #是否从EurekaServer中抓取已有的注册信息,默认为true,单点无所谓,集群必须设置true才能和ribbon使用负载均衡
service-url:
defaultZone: http://localhost:6060/eureka #单机配置
在启动类上添加@EnableEurekaClient注解
此时我们便完成了微服务的注册,我们可以启动所有项目并在浏览器中访问eureka地址来查看注册信息