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:\Windows\System32\drivers\etc的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/:同理

 

posted @ 2018-10-29 00:05  一帘幽梦&nn  阅读(202)  评论(0编辑  收藏  举报
点击查看具体代码内容