【SpringCloud Greenwich版本】第一章续:集群服务注册中心(eureka)

一、SpringCloud版本

本文介绍的Springboot版本为2.1.1.RELEASE,SpringCloud版本为Greenwich.RC1,JDK版本为1.8,集成环境为IntelliJ IDEA

二、eureka介绍

本文主要介绍服务注册中负载均衡的实现方式,文章基于第一章
【SpringCloud Greenwich版本】第一章:服务注册中心(eureka)
eureka默认支持运行多个服务,只需简单的修改其服务地址即可

三、改造cloudser工程

增加application-peer1.properties和application-peer2.properties配置文件
peer1中指定service-url为http://peer2:8802/eureka/
peer2中指定service-url为http://peer1:8801/eureka/
注:如果不止两个服务的话,只需在service-url中配置多个地址即可,用逗号隔开

server.port=8801
eureka.instance.hostname=peer1
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone: http://peer2:8802/eureka/
server.port=8802
eureka.instance.hostname=peer2
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone: http://peer1:8801/eureka/

修改本地hosts文件

127.0.0.1 peer1
127.0.0.1 peer2

通过jar包执行工程,也可用其他方式

java -jar cloudser-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar cloudser-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

通过浏览器访问http://localhost:8801/和http://localhost:8802/,可以看到两个服务都互相复制了对方
【SpringCloud Greenwich版本】第一章续:集群服务注册中心(eureka)_第1张图片【SpringCloud Greenwich版本】第一章续:集群服务注册中心(eureka)_第2张图片页面下面展示了相关的注册信息
【SpringCloud Greenwich版本】第一章续:集群服务注册中心(eureka)_第3张图片启动cloudclient服务,将服务注册中心地址改成http://localhost:8801/eureka/
启动成功后,我们可以看到两个服务注册中心都存在cloudclient注册信息
在这里插入图片描述

注: 如果peer1服务挂掉,当我们注册的时候会注册失败,即使peer2正常运行。
所以我们需要把需要注册的服务也就是cloudclient配置修改成注册集群注册,这样即使peer1挂掉,也可以注册到peer2上,等到peer1服务恢复后,会自动复制peer2服务到peer1中,以此来保持系统的稳定性

server.port=8003
spring.application.name=cloudclient
eureka.client.service-url.defaultZone: http://localhost:8801/eureka/,http://localhost:8802/eureka/
eureka.client.healthcheck.enabled=true

四、更多文章阅读

【SpringCloud Greenwich版本】汇总
【JAVA设计模式】汇总

你可能感兴趣的:(SpringCloud)