前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringCloud详细教程 | 第十篇: 搭建 Eureka集群,实现Eureka的高可用(Greenwich版本)

SpringCloud详细教程 | 第十篇: 搭建 Eureka集群,实现Eureka的高可用(Greenwich版本)

作者头像
小东啊
发布2019-06-26 15:20:02
1.1K0
发布2019-06-26 15:20:02
举报
文章被收录于专栏:李浩东的博客李浩东的博客

Eureka 作为注册中心,必须保障高可用,否则会直接影响有关的整个服务体系

在SpringCloud教程文章的 SpringCloud详细教程 | 第一篇:服务的注册与发现Eureka(Greenwich版本)实现Eureka的服务注册与发现,Eureka 作为注册中心,必须保障高可用,否则会直接影响有关的整个服务体系。介绍了服务注册与发现,其中服务注册中心Eureka Server,是一个实例,当成千上万个服务向它注册的时候,它的负载是非常高的,这在生产环境上是不太合适的,需要搭建集群实现互相注册,防止其中一个服务挂掉影响整个服务体系

以下分别进行开发环境和生产环境的多服务中心集群配置

一. 开发环境配置

1. 改造eureka-server服务

我们第一篇文章SpringCloud详细教程 | 第一篇:服务的注册与发现Eureka(Greenwich版本)搭建好的Eureka 服务中心基础上进行改造

在之前的服务上新建两个application.properties配置文件

application-peer1.properties

代码语言:javascript
复制
#服务注册中心端口号server.port=8761#服务注册中心实例的主机名eureka.instance.hostname=peer1#是否向服务注册中心注册自己eureka.client.register-with-eureka=false#是否检索服务eureka.client.fetch-registry=false#服务注册中心的配置内容,指定服务注册中心的位置eureka.client.service-url.defaultZone=http://peer2:8762/eureka/
#新增节点执行配置文件spring.profiles.active=peer1

application-peer2.properties

代码语言:javascript
复制
#服务注册中心端口号server.port=8762#服务注册中心实例的主机名eureka.instance.hostname=peer2#是否向服务注册中心注册自己eureka.client.register-with-eureka=false#是否检索服务eureka.client.fetch-registry=false#服务注册中心的配置内容,指定服务注册中心的位置eureka.client.service-url.defaultZone=http://peer1:8761/eureka/
#新增节点指向配置文件spring.profiles.active=peer2

这时eureka-server就已经改造完毕

这个时候大家可能主机名之前为localhost,现在各为peer1 ,peer2 表示两个机器模仿集群

下面需要改变/etc/hosts,从而可以发现我们自定义的peer1,peer2,linux系统通过vim /etc/hosts ,加上:

代码语言:javascript
复制
127.0.0.1 peer1127.0.0.1 peer2

ps: hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件

windows电脑,在c:/windows/systems/drivers/etc/hosts 修改

改好之后 下面通过IDEA多个SpringBoot实例启动服务

在IDEA上点击Application右边的下三角 ,弹出选项后,点击Edit Configuration

打开配置后

1:添加

2:选择Spring Boot

3: 名称自定义

4:输入启动参数

5:选择项目module

6:选择启动类

然后Apply即可

当前启动参数为:--spring.profiles.active=peer1

指定启动是所用的配置文件 application-peer1.properties 然后就可以run

同理配置 peer2

各自启动完毕之后 打开浏览器输入 http://localhost:8761/, http://localhost:8762/

localhost:8761你会发现有个peer2节点

localhost:8762你会发现有个peer1节点

2. 改造eureka-client

在配置文件修改注册中心地址http://peer1:8761/eureka/,http://peer2:8762/eureka/ 表示向两个注册中心进行注册

代码语言:javascript
复制
# 端口号server.port=8763# 需要指明spring.application.name 这个很重要# 这在以后的服务与服务之间相互调用一般都是根据这个namespring.application.name=eureka-client#服务注册中心实例的主机名eureka.instance.hostname=localhost#服务注册中心端口号eureka.port=8761#在此指定服务注册中心地址#eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:8770/eureka/,http://${eureka.instance.hostname}:8771/eureka/eureka.client.service-url.defaultZone=http://peer1:8761/eureka/,http://peer2:8762/eureka/
#为true设置的是web开启sleuth功能spring.sleuth.web.client.enabled=true#当设置为1.0时就是链路数据100%收集到zipkin-serverspring.sleuth.sampler.probability=1.0# 指定了 Zipkin 服务器的地址spring.zipkin.base-url=http://localhost:9411

启动 eureka-client 成功后再次查看服务注册情况

发现eureka-client服务在两个服务中心注册成功

二. 生产环境配置

1. 在上面的基础上进行maven打包
2. 部署jar包

将jar 包放到相应的服务器上(这里演示在本机),分别运行jar包:

代码语言:javascript
复制
java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

运行后如下图:

3. 服务服务地址

打开浏览器依次访问 http://localhost:8761/, http://localhost:8762/

再次启动eureka-client服务 看下是否注册成功

结果和上面一样的

Eureka Server集群配置完成, 然后你的机器较多,按照上面的配置规则即可,然后配置相应Eureka客户端注册中心地址

源码下载: https://github.com/LiHaodong888/SpringCloudLearn

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 李浩东的博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一. 开发环境配置
    • 1. 改造eureka-server服务
      • 2. 改造eureka-client
      • 二. 生产环境配置
        • 1. 在上面的基础上进行maven打包
          • 2. 部署jar包
            • 3. 服务服务地址
            相关产品与服务
            微服务引擎 TSE
            微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档