【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
来源:互联网 发布:win10单片机驱动程序 编辑:程序博客网 时间:2024/05/21 09:54
http://www.cnblogs.com/xiaojunbo/p/7094117.html
上一篇讲解了spring注册中心(eureka),但是存在一个单点故障的问题,一个注册中心远远无法满足实际的生产环境,那么我们需要多个注册中心进行集群,达到真正的高可用。今天我们实战来搭建一个Eureka集群。
一:集群环境搭建
第一步:我们新建两个注册中心工程一个叫eureka_register_service_master、另外一个叫eureka_register_service_backup
eureka_register_service_master的application.properties配置如下
server.port=
7998
eureka.client.register-with-eureka=
false
eureka.client.fetch-registry=
false
spring.application.name=eureka-server
eureka.instance.hostname=master
eureka.client.serviceUrl.defaultZone=http:
//backup:7999/eureka/
#这里配置的是backup的地址
eureka_register_service_backup的application.properties配置如下
eureka_register_service_backup的application.properties配置如下
server.port=
7999
eureka.client.register-with-eureka=
false
eureka.client.fetch-registry=
false
spring.application.name=eureka-server
eureka.instance.hostname=backup
#这里配置的是master的地址
eureka.client.serviceUrl.defaultZone=http:
//master:7998/eureka/
上面的配置端口分别是
master端口是7998
backupr端口是7999
由于我用的是同一台机器所以需要绑定下host
127.0.0.1 master
127.0.0.1 backup
第二步:添加启动文件分别是ApplicationMaster.java,ApplicationBackUp.java
里面代码内容是一样的
@EnableEurekaServer
@SpringBootApplication
public
class
ApplicationMaster {
public
static
void
main(String[] args) {
SpringApplication.run(ApplicationMaster.
class
, args);
}
}
@EnableEurekaServer
@SpringBootApplication
public
class
ApplicationBackUp {
public
static
void
main(String[] args) {
SpringApplication.run(ApplicationBackUp.
class
, args);
}
}
第三步:启动
如果是jar启动需要 加参数 --spring.profiles.active=matser或者 --spring.profiles.active=backup
第一种方法是通过jar命令启动
java -jar eureka_register_service_matser-
1.0
.
0
.jar --spring.profiles.active=matser
java -jar eureka_register_service_backup-
1.0
.
0
.jar --spring.profiles.active=backup
第二种是通过eclipse点击右键Run As 启动
需要加入参数如下图
第四步:查看界面
分别打开http://127.0.0.1:7998/ 和 http://127.0.0.1:7999/ 如下图
通过上图可以看
端口7998是matser它的registered-replicas指向了http://backup:7999/eureka/
端口7999是backup它的registered-replicas指向了http://master:7999/eureka/
注:有人会问为什么unavailable-replicas http://backup:7999/eureka/或者http://master:7999/eureka/ 那是因为我的配置吧
eureka.client.register-with-eureka设置成false 改成true就可以
二:服务端注册
设置了多个注册中心后,我们的服务配置不需要太多改动只需将biz-service-0工程的application.properties的serviceUrl修改下
eureka.client.serviceUrl.defaultZone=http:
//master:7998/eureka/,http://backup:7999/eureka/,
当然也可以绑定一个地址,eureka.client.serviceUrl.defaultZone=http://master:7998/eureka/ 这两种绑定都可以
三:集群理解
虽然上面我们以双节点作为例子,但是实际上因负载等原因,我们往往可能需要在生产环境构建多于两个的Eureka Server节点。那么对于如何配置serviceUrl来让集群中的服务进行同步,需要我们更深入的理解节点间的同步机制来做出决策。我们通过一张图来理解集群
源码地址:https://github.com/zhp8341/SpringCloudDemo
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- 【微服务架构】SpringCloud之Eureka(服务注册和服务发现基础篇)(二)
- 【微服务架构】SpringCloud之Eureka(服务注册和服务发现基础篇)(二)
- SpringCloud构建微服务入门架构(二)服务注册与发现Eureka集群搭建
- 使用SpringCloud搭建微服务<三>---------使用EureKa编写服务的注册中心
- SpringCloud微服务系列(1): 创建Eureka服务注册中心
- springcloud微服务二:Eureka服务治理之服务注册中心
- springcloud微服务二:Eureka服务治理之服务注册中心
- Spring Cloud微服务(2)之 注册中心Eureka
- springcloud实战之3 高可用服务注册中心(eureka集群)
- SpringCloud之注册中心Eureka搭建-亲测好用
- SpringCloud(四):将微服务注册到Eureka Server
- 微服务基础设施之服务注册中心: Spring Cloud Eureka
- springcloud微服务三:Eureka服务治理之注册服务提供者及服务的发现和消费
- springcloud(二):注册中心Eureka
- springcloud(二):注册中心Eureka
- GitHub 与 Git 的区别
- phpStrom上传文件到部署的远程服务器
- 给你一个 n 个点,m 条边的无向图,求至少要在这个的基础上加多少条无向边使得任意两个点可达~
- 隐晦规则
- ios-手动实现KVO简单版
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- 变量的定义
- day05_dom4j_查询,添加
- HashMap循环遍历方式及其性能对比
- ssh
- 正则表达式基础(一)
- Mybatis学习总结(一) 介绍
- RN
- 【微服务架构】SpringCloud之Ribbon(四)