风止雨歇

Spring Cloud Eureka的集群配置(六)

使用3个Eureka服务搭建集群

Eureka1:端口为7001;

Eureka2:端口为7002;

Eureka3:端口为7003;

它们之间是两两互相注册的关系

 一、Eureka的集群搭建

1、再次创建2个Eureka工程

工程名:microservicecloud-eureka-7002

工程名:microservicecloud-eureka-7003

2、pom.xml文件

<dependencies>
        <!--eureka-server服务端 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
        </dependency>
</dependencies>

3、域名映射

找到 "C:\Windows\System32\drivers\etc\hosts" 文件,并在hosts文件中增加如下内容:

127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
127.0.0.1 eureka7003.com

4、配置文件的修改

(1)工程 microservicecloud-eureka-7001 的 application.yml文件做如下修改:

server:
  port: 7001
eureka:
  instance:
    hostname: eureka7001.com #eureka服务端的实例名称
  client:
    register-with-eureka: false #false表示不向注册中心注册自己。Eureka不响自己注册
    fetch-registry: false       #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/

(2)工程 microservicecloud-eureka-7002 的 application.yml文件做如下修改:

server:
  port: 7002
eureka:
  instance:
    hostname: eureka7002.com #eureka服务端的实例名称
  client:
    register-with-eureka: false #false表示不向注册中心注册自己。Eureka不响自己注册
    fetch-registry: false       #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/

(3)工程 microservicecloud-eureka-7003 的 application.yml文件做如下修改:

server:
  port: 7003
eureka:
  instance:
    hostname: eureka7003.com #eureka服务端的实例名称
  client:
    register-with-eureka: false #false表示不向注册中心注册自己。Eureka不响自己注册
    fetch-registry: false       #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/

 

二、微服务注册到Eureka集群中

(1)创建一个微服务

微服务的启动类上增加 @EnableEurekaClient 注解;

@SpringBootApplication
@EnableEurekaClient     //本服务启动后自动注册到eureka中
@EnableDiscoveryClient  //服务的发现, 暴露出来
public class DeptProvider8001_App
{
    public static void main(String[] args)
    {
        SpringApplication.run(DeptProvider8001_App.class, args);
    }
}

 

(2)微服务注册到Eureka集群的所有节点上

微服务yaml文件如下所示:

server:
  port: 8001

mybatis:
  config-location: classpath:mybatis/mybatis.cfg.xml        # mybatis配置文件所在路径
  type-aliases-package: com.yufeng.springcloud.entities    # 所有Entity别名类所在包
  mapper-locations:
  - classpath:mybatis/mapper/**/*.xml                       # mapper映射文件

spring:
   application:
    name: microservicecloud-dept
   datasource:
    type: com.alibaba.druid.pool.DruidDataSource            # 当前数据源操作类型
    driver-class-name: org.gjt.mm.mysql.Driver              # mysql驱动包
    url: jdbc:mysql://192.168.172.20:3306/cloudDB01              # 数据库名称
    username: root
    password: root
    dbcp2:
      min-idle: 5                                           # 数据库连接池的最小维持连接数
      initial-size: 5                                       # 初始化连接数
      max-total: 5                                          # 最大连接数
      max-wait-millis: 200                                  # 等待连接获取的最大超时时间


eureka:
  client:  # 客户端注册进eureka内
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
  instance:
    instance-id: microservicecloud-provider-dept-8001
    prefer-ip-address: true  # 访问路径可以显示IP

info:
  app.name: yufeng-microservicecloud
  company.name: www.yufeng.com
  build.artifactId: $project.artifactId$
  build.version: $project.version$

  

 

posted on 2019-04-28 23:30  风止雨歇  阅读(680)  评论(0编辑  收藏  举报

导航