SpringCloud-微服务集群
注明:此项目为本人学习尚硅谷老师的教学视频然后整理核心的配置文件,所有的项目均在以下地址下载。
https://github.com/xwbGithub/microservicecloud下载
本项目请参考
集群提供者:microservice-eureka-7001,microservice-eureka-7002,microservice-eureka-7003
微服务提供者:microservicecloud-provider-dept-8001,microservicecloud-provider-dept-8002,microservicecloud-provider-dept-8003
三个模块的代码,配置文件基本一致,以下介绍他们的不同之处
核心文件(以下将8002的微服务作为讲解文件)
1、pom坐标
<artifactId>microservicecloud-provider-dept-8002</artifactId>
2、主启动类名称需要修改。DeptProvider8002_App、DeptProvider8003_App
@SpringBootApplication
@EnableEurekaClient //本服务启动后胡自动注册进Eureka服务中
@EnableDiscoveryClient //服务发现
public class DeptProvider8002_App {
public static void main(String[] args) {
SpringApplication.run(DeptProvider8002_App.class, args);
}
}
3、修改端口号
server:
port: 8002 #8003的微服务对应的是8003,8001的微服务对应的是8001
4、修改数据库链接名
spring:
application:
name: microservicecloud-dept
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 当前数据源操作类型
driver-class-name: org.gjt.mm.mysql.Driver # mysql驱动包
url: jdbc:mysql://localhost:3306/cloudDB02 # 数据库名称
5、服务名称绝对不可以改(对外暴露统一的服务名称8001,8003都是用此名称)
spring:
application:
name: microservicecloud-dept
整个yml整合如下
server:
port: 8002
mybatis:
config-location: classpath:mybatis/mybatis.cfg.xml # mybatis配置文件所在路径
type-aliases-package: com.atguigu.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://localhost:3306/cloudDB02 # 数据库名称
username: root
password: 123456
dbcp2:
min-idle: 5 # 数据库连接池的最小维持连接数
initial-size: 5 # 初始化连接数
max-total: 5 # 最大连接数
max-wait-millis: 200 # 等待连接获取的最大超时时间
# eureka 客户端注册eureka服务器列表
eureka:
client:
service-url:
# 指定单台机器
# defaultZone: http://localhost:7001/eureka
# 指定集群服务器列表
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
instance:
instance-id: microservicecloud-dept8002 #显示此名字(默认是当前项目http://localhost:8002)
prefer-ip-address: true #访问路径可以显示ip地址
# 配置info信息
info:
app.name: atguigu-microservicecloud
company.name: www.atguigu.com
build.artifactId: $project.artifactId$
build.version: $project.version$
测试:
1、首先依次启动7001,7002,7003三个eureka集群注册中心
2、启动8001,8002,8003微服务提供者
3、最后启动80负载均衡微服务访问任意一台注册中心
通过访问:注册中心注册的微服务application为:MICROSERVICECLOUD-DEPT
这其中有3台机器提供此微服务分别是microservicecloud-dept8001,microservicecloud-dept8002,microservicecloud-dept8003
这样既完成了微服务的集群。