SpringCloud-5-Eureka 服务注册 单机版+集群版

一  Eureka单机版

新建子工程->eureka 

pom.xml

    <dependencies>
        <!-- eureka-server -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
        <!-- 引用自己定义的api通用包,可以使用Payment支付Entity -->
        <dependency>
            <groupId>com.mengxiangnongfu</groupId>
            <artifactId>commons</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--监控-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</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>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

application.yml

server:
  port: 7001
eureka:
  instance:
    hostname: eureka1.com
  client:
    #false 表示不向注册中心注册自己
    register-with-eureka: false
    fetch-registry: false
    service-url:
      #设置与Eureka Server交互的地址查询服务和注册服务都需要这个地址
      defaultZone: http://127.0.0.1:7001/eureka
spring:
  application:
    name: eureka

主启动类 注意:这里使用

@EnableEurekaServer注解标识为Eureka服务端 
package com.mengxiangnongfu;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class EurekaApplicationMain {

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

}

 

下面将服务注册进Eureka服务中心 以生产者PAYMENT服务为实例

增加依赖

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

修改application.yml

server:
  port: 80
spring:
  application:
    name: order
eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://127.0.0.1:7001/eureka #单机版
      #defaultZone: http://127.0.0.1:7001/eureka,http://127.0.0.1:7002/eureka #集群版

修改启动类 注意增加:

@EnableEurekaClient标识为一个Eureka的客户端 
package com.mengxiangnongfu;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class OrderApplicationMain {

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

}

 

二  Eureka集群版

前言:建立Eureka1 和 Eureka2 分别使用两个端口,因为本地测试为同一台电脑,可以修改

hosts文件映射两个不同的域名

 

搭建:建立两个子工程 Eureka1 和 Eureka2 pom文件粘贴单机版,配置文件修改如下参考

① eureka2 7002 端口的application.yml 在7002端口下注册到7001 7001注册到7002形成集群,相互注册

server:
port: 7002
eureka:
instance:
hostname: eureka2.com
client:
#false 表示不向注册中心注册自己
register-with-eureka: false
fetch-registry: false
service-url:
#设置与Eureka Server交互的地址查询服务和注册服务都需要这个地址
defaultZone: http://127.0.0.1:7001/eureka #集群版
spring:
application:
name: eureka

②eureka1 7001端口的application.yml

server:
  port: 7001
eureka:
  instance:
    hostname: eureka1.com
  client:
    #false 表示不向注册中心注册自己
    register-with-eureka: false
    fetch-registry: false
    service-url:
      #设置与Eureka Server交互的地址查询服务和注册服务都需要这个地址
      defaultZone: http://eureka2.com:7002/eureka
spring:
  application:
    name: eureka

Eureka注册中心的其他代码和单机版相同

在客户端Client方面进行修改 注意在  defaultZone 注册地址为两个Eureka的地址 生产者消费者相同

server:
  port: 80
spring:
  application:
    name: order
eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      #defaultZone: http://127.0.0.1:7001/eureka #单机版
      defaultZone: http://127.0.0.1:7001/eureka,http://127.0.0.1:7002/eureka #集群版

 

posted @ 2020-08-30 02:00  洋三岁  阅读(114)  评论(0)    收藏  举报
友情链接: 梦想农夫