• 3.3 集群配置


    一、eureka集群配置

    这里采用了3个eureka

    1. 新建microservicecloud-eureka-7002/microservicecloud-eureka-7003

    (1)步骤:在父工程microservicecloud上右键 -> new -> maven module -> microservicecloud-eureka-7002  -> jar 

          在父工程microservicecloud上右键 -> new -> maven module -> microservicecloud-eureka-700  -> jar 

    (2)修改7002的pom.xml为:将7001的pom.xml拷贝修改即可

    <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">
      <modelVersion>4.0.0</modelVersion>
      <parent>
        <groupId>com.ning.springcloud</groupId>
        <artifactId>microservicecloud</artifactId>
        <version>0.0.1-SNAPSHOT</version>
      </parent>
      <artifactId>microservicecloud-eureka-7002</artifactId>
    
      <dependencies>
       <!--告诉Springboot本微服务是eureka-server服务端 -->
       <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-eureka-server</artifactId>
       </dependency>
       <!-- 修改后立即生效,热部署 -->
       <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>springloaded</artifactId>
       </dependency>
       <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-devtools</artifactId>
       </dependency>
      </dependencies>
     
    </project>
    View Code

    修改7003的pom.xml为:

    <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">
      <modelVersion>4.0.0</modelVersion>
      <parent>
        <groupId>com.ning.springcloud</groupId>
        <artifactId>microservicecloud</artifactId>
        <version>0.0.1-SNAPSHOT</version>
      </parent>
      <artifactId>microservicecloud-eureka-7003</artifactId>
    
      
      <dependencies>
       <!--告诉Springboot本微服务是eureka-server服务端 -->
       <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-eureka-server</artifactId>
       </dependency>
       <!-- 修改后立即生效,热部署 -->
       <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>springloaded</artifactId>
       </dependency>
       <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-devtools</artifactId>
       </dependency>
      </dependencies>
     
    </project>
    View Code

    (3)修改7002和7003的主启动类

    package com.ning.springcloud;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
    
    @SpringBootApplication
    @EnableEurekaServer // EurekaServer服务器端启动类,接受其它微服务注册进来
    public class EurekaServer7002_App {
        public static void main(String[] args) {
            SpringApplication.run(EurekaServer7002_App.class, args);
        }
    }
    View Code
    package com.ning.springcloud;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
    
    @SpringBootApplication
    @EnableEurekaServer // EurekaServer服务器端启动类,接受其它微服务注册进来
    public class EurekaServer7003_App {
        public static void main(String[] args) {
            SpringApplication.run(EurekaServer7003_App.class, args);
        }
    }
    View Code

    (4) 修改映射配置

     做域名将映射:

    在C:WindowsSystem32driversetc的hosts文件中加入:

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

    (5)3台eureka服务器的yml配置

    a. 7001的.yml文件修改为:文件中注释的两个地方为以前单机版的

    server: 
      port: 7001
     
    eureka:
      instance:
    #    hostname: localhost #eureka服务端的实例名称
        hostname: eureka7001.com #eureka服务端的实例名称    
      client:
        register-with-eureka: false #false表示不向注册中心注册自己,只有客户端才向自己注册。
        fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
        service-url:
    #      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/   #设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址(单机)。
          defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
          
    View Code

    b. 7002的.yml文件为:

    server: 
      port: 7002
     
    eureka:
      instance:
    #    hostname: localhost #eureka服务端的实例名称
        hostname: eureka7002.com #eureka服务端的实例名称    
      client:
        register-with-eureka: false #false表示不向注册中心注册自己,只有客户端才向自己注册。
        fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
        service-url:
    #      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/   #设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址(单机)。
          defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/
          
    View Code

    c. 7003的.yml文件为:

    server: 
      port: 7003
     
    eureka: 
      instance:
        hostname: eureka7003.com #eureka服务端的实例名称
      client: 
        register-with-eureka: false     #false表示不向注册中心注册自己。
        fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
        service-url: 
          #defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/       #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址。
          defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/
    View Code

    (5)microservicecloud-provider-dept-8001微服务发布到上面3台eureka集群配置中

    8001入住到7001修改为8001,同时入住到7001、7002、7003

    修改8001的.yml文件为:文件中注释掉的1行为修改的

    server:
      port: 8001  # 此服务的端口
      
    mybatis:                                                    # MyBatis整合
      config-location: classpath:mybatis/mybatis.cfg.xml        # mybatis配置文件所在路径
      type-aliases-package: com.ning.springcloud.entities       # 所有Entity别名类所在包
      mapper-locations:
      - classpath:mybatis/mapper/**/*.xml                       # mapper映射文件
        
    spring:                                                     # spring的整合
       application:
        name: microservicecloud-dept                            # 对外暴露的微服务的名字
       datasource:
        type: com.alibaba.druid.pool.DruidDataSource            # 当前数据源操作类型
        driver-class-name: org.gjt.mm.mysql.Driver              # mysql驱动包
        url: jdbc:mysql://47.98.202.86: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://localhost:7001/eureka
          defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
      instance:  # 给入住进eureka的服务做别名处理
        instance-id: microservicecloud-dept8001
        prefer-ip-address: true     #访问路径可以显示IP地址
        
    info:
      app.name: ning-microservicecloud
      company.name: www.ning.com  # 公司名字
      build.artifactId: $project.artifactId$
      build.version: $project.version$
     
     
    
      
     
    
     
    View Code

    (6)测试:

      分别启动eureka7001、7002、7003

      启动8001

      访问http://eureka7001.com:7001/

    访问http://eureka7002.com:7002/:同理

    访问http://eureka7003.com:7003/:同理

  • 相关阅读:
    Slimer软工课设日报-2016年6月30日
    Slimer软工课设日报-2016年6月29日
    软件工程个人总结
    什么是Bug
    构建之法读后感----第1章 绪论
    7.4
    7.1-7.3
    6.29
    软件工程课设 第二天
    软工总结 作业
  • 原文地址:https://www.cnblogs.com/shiyun32/p/9868060.html
Copyright © 2020-2023  润新知