在SpringCloud微服务项目集成eureka注册中心

126 阅读1分钟

首先创建一个基本的微服务项目,可参考(juejin.cn/post/712723…)。

第一步:

在总总项目下创建一个新的models

image.png

image.png 编写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文件夹下创建配置文件

image.png
文件内容:

#服务端口
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集群的访问控制,单机就是指向自己

第三步:

创建启动类

image.png

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注解

image.png
此时我们便完成了微服务的注册,我们可以启动所有项目并在浏览器中访问eureka地址来查看注册信息