一、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>
修改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>
(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); } }
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); } }
(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/
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/
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/
(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$
(6)测试:
分别启动eureka7001、7002、7003
启动8001
访问http://eureka7001.com:7001/
访问http://eureka7002.com:7002/:同理
访问http://eureka7003.com:7003/:同理
原文地址:https://www.cnblogs.com/shiyun32/p/9868060.html