SpringCloud(2)使用eureka注册中心

首先,是eureka的工作原理图
在这里插入图片描述
服务提供者和消费者都相当于是Eureka client,Eureka Server则是充当注册中心的角色

1.配置Eureka服务

新建一个springboot项目,并导入依赖,要注意,导入的eureka服务依赖一定要是Spring-cloud-starter-netflix-eureka-server

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <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-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

配置yml配置文件:

这里使用7001端口号

server:
  port: 7001

eureka:
  #eureka服务的实例名称
  instance:
    hostname: localhost
  client:
    #不将自己注册进eureka
    register-with-eureka: false
    #指示此客户端是否应从eureka服务器获取eureka注册表信息,自己就是注册中心所以关闭
    fetch-registry: false
    service-url:
      #设置与eureka服务交互的查询和注册服务的地址
      defaultZone: http://${
    
    eureka.instance.hostname}:${
    
    server.port}/eureka/

最后在springboot的启动类上加入@EnableEurekaServer注解

@SpringBootApplication
@EnableEurekaServer
public class CloudEurekaServerApplication {
    
    

    public static void main(String[] args) {
    
    
        SpringApplication.run(CloudEurekaServerApplication.class, args);
    }

}

2.注册提供者和消费者服务进Eureka

在提供者和消费者服务模块都导入依赖spring-cloud-starter-netflix-eureka-client

		<!--eureka client-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            <version>2.2.4.RELEASE</version>
        </dependency>

在两个模块的yml配置文件中配置eureka服务的地址

eureka:
  client:
    service-url:
      defaultZone: http://localhost:7001/eureka/

在两个模块的主启动类都要加入@EnableEurekaClient注解

@SpringBootApplication
@EnableEurekaClient
public class CloudProviderPayment8011Application {
    
    

    public static void main(String[] args) {
    
    
        SpringApplication.run(CloudProviderPayment8011Application.class, args);
    }

}

3.开启各个服务

三大模块:
在这里插入图片描述
先开启eureka-server服务,然后开启cloud-provider提供者服务,最后开启cloud-consumer消费者服务。
都开启后,访问localhost:7001查看eureka注册中心所注册的client。
在这里插入图片描述
三个模块远程调用的过程如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41120971/article/details/107889026