SpringCloud搭建Eureka集群
介绍
上一篇讲了下如何搭建Eureka服务注册中心,那个是单机版的,本篇介绍下集群版搭建。
搭建Eureka集群
1.新建模块:cloud-eureka-server7002
参考cloud-eureka-server7001
新建模块cloud-eureka-server7002。
2.修改hosts文件
路径:C:\Windows\System32\drivers\etc\hosts
,在最后面追加以下内容:
# spring cloud
127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
3.修改yml
- 修改模块7001的配置
server:
port: 7001
eureka:
instance:
hostname: eureka7001.com #eureka服务端的实例名称
client:
register-with-eureka: false #false表示不向注册中心注册自己。
fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
defaultZone: http://eureka7002.com:7002/eureka/
- 修改模块7002的配置
server:
port: 7002
eureka:
instance:
hostname: eureka7002.com #eureka服务端的实例名称
client:
register-with-eureka: false #false表示不向注册中心注册自己。
fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
defaultZone: http://eureka7001.com:7001/eureka/
- 修改cloud-provider-payment8001的配置
server:
port: 8001
spring:
application:
name: cloud-payment-service
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 当前数据源操作类型
driver-class-name: org.gjt.mm.mysql.Driver # mysql驱动包
url: jdbc:mysql://localhost:3306/db_payment?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: root123
druid:
test-while-idle: true
validation-query: SELECT 1
mybatis:
mapperLocations: classpath:mapper/*.xml
type-aliases-package: com.sgtech.springcloud.entity # 所有Entity别名类所在包
eureka:
client:
#表示是否将自己注册进EurekaServer默认为true。
register-with-eureka: true
#是否从EurekaServer抓取已有的注册信息,默认为true。单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
fetchRegistry: true
service-url:
#单机版
# defaultZone: http://localhost:7001/eureka
# 集群版
defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
instance:
instance-id: payment8001
4.新建模块:cloud-payment8002
参考模块:cloud-payment8001新建cloud-payment8002。
- 修改配置
server:
port: 8002
spring:
application:
name: cloud-payment-service
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 当前数据源操作类型
driver-class-name: org.gjt.mm.mysql.Driver # mysql驱动包
url: jdbc:mysql://localhost:3306/db_payment?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: root123
druid:
test-while-idle: true
validation-query: SELECT 1
mybatis:
mapperLocations: classpath:mapper/*.xml
type-aliases-package: com.sgtech.springcloud.entity # 所有Entity别名类所在包
eureka:
client:
#表示是否将自己注册进EurekaServer默认为true。
register-with-eureka: true
#是否从EurekaServer抓取已有的注册信息,默认为true。单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
fetchRegistry: true
service-url:
#单机版
# defaultZone: http://localhost:7001/eureka
# 集群版
defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
5.测试
- 启动配置中心的2个服务:7001和7002
- 启动cloud-provider-payment8001
- 分别访问注册中心7001和7002:
http://eureka7001.com:7001/
,http://eureka7002.com:7002/
会发现多了一个注册中心副本和2个实例
- 访问8001接口:
http://localhost:8001/payment/get/22
,http://localhost:8002/payment/get/22
项目代码
分类:
Java项目实战
, # SpringCloud
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构