深入了解高可用注册中心->Spring Cloud Eureka
在微服务架构这样的分布式环境中,我们需要充分考虑发生故障的情况, 所以在生产 环境中必须对各个组件进行高可用部署, 对于微服务如此, 对于服务注册中心也一样。 但 是到本节为止,我们一直都在使用单节点的服务注册中心,这在生产环境中显然并不合适, 我们需要构建高可用的服务注册中心以增强系统的可用性。
Eureka Server的设计一开始就考虑了高可用问题, 在Eureka的服务治理设计中, 所有 节点即是服务提供方, 也是服务消费方, 服务注册中心也不例外。 是否还记得在单节点的 配置中,我们设置过下面这两个参数, 让服务注册中心不注册自己:
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
Eureka Server的高可用实际上就是将自己作为服务向其他服务注册中心注册自己,这 样就可以形成一组互相注册的服务注册中心, 以实现服务清单的互相同步, 达到高可用的 效果。 下面我们就来尝试搭建高可用服务注册中心的集群。
- 目录结构
在etc/hosts文件中添加对peerl和peer2的转换, 让上面配置的host形式的 serviceUrl能在本地正确访间到; Windows系统路径为C:WindowsSystem32 driversetchosts。
1
2
127.0.0.1 peer1
127.0.0.1 peer2
启动:
java -jar Eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar Eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
peer1图
peer2图
此时访问peer1的注册中心http://localhost:1111/, 如下图所示, 我们可以到看, registered-replicas中已经有peer2节点的eureka-server了。 同样的, 我们访 问peer2的注册中心http://localhost: 2222/ , 也能到看registered-replicas 中已经有peer1节点,并且这些节点在可用分片(available-replicase)之中。
在设置了多节点的服务注册中心之后, 服务提供方还需要做一些简单的配置才能将 服务注册到Eureka Server 集群中。 我们以下面的项目为例, 修改 application.properties 配置文件, 如下所示:
修改pom.xml
上面的配置主要对eureka.client.serviceUrl.defaultZone属性做了改动, 将注册中心指向了之前我们搭建的peerl与peer2(类似于dubbo服务)。
访问地址:
http://localhost:1111/
http://localhost:2222/
可以观察到hello-service 服务同时被注册到了peerl和peer2上。若此时断开peer!, 由于compute-service同时也向peer2注册, 因此在peer2上的 其他服务依然能访问到hello-service, 从而实现了服务注册中心的高可用。
想深入了解Spring Cloud,想提升职业技能么,这里有在大型企业工作十余年的架构师分享经验,Java工程化管理、高性能、分布式、高可用架构、zookeeper、Spring cloud,MyBatis,Netty源码分析和大数据等多个知识点高级进阶干货的直播讲解以及在线答疑,如果你想拿高薪的,想学习的,想就业前景好的,想跟别人竞争能取得优势的,想进阿里面试但担心面试不过的,你都可以来,QQ群号为:468947140
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
SEO优化:网站优化的五大步骤
我们在做SEO优化的过程中,不能毫无头绪得去做,不然取得的效果很差,做任何事情,都要有一个好的策划,完整的方案才能做的更好。今天搜客大伟讲讲做网站优化的五大步骤: 1、关键词分析 这是进行SEO优化最重要的一环,关键词分析包括:关键词关注量分析、竞争对手分析、关键词与网站相关性分析、关键词布置、关键词排名预测。 2、关键词定位 网站结构符合搜索引擎的爬虫喜好则有利于SEO优化。网站架构分析包括:剔除网站架构不良设计、实现树状目录结构、网站导航与链接优化。 3、网站目录和页面优化 SEO不止是让网站首页在搜索引擎有好的排名,更重要的是让网站的每个页面都带来流量。 4、内容发布和链接布置 搜索引擎喜欢有规律的网站内容更新,所以合理安排网站内容发布日程是SEO优化的重要技巧之一。链接布置则把整个网站有机地串联起来,让搜索引擎明白每个网页的重要性和关键词,实施的参考是第一点的关键词布置。友情链接战役也是这个时候展开。 5、网站流量分析 网站流量分析从SEO结果上指导下一步的SEO策略,同时对网站的用户体验优化也有指导意义。流量分析工具,建议采用分析工具Google Analytics分析工具和...
- 下一篇
Scala微服务架构 三
四 Controller层 之前我们已经把基层架构搭建好了,那么要如何使用呢? 首先看看我的Controller层代码 @Singleton class BMAuthController @Inject()(implicit cc: ControllerComponents, actorSystem: ActorSystem) extends AbstractController(cc) with Circe with CirceJsonapiSupport { val entry = PlayEntry() def parseJson(jsonString: String) : Json = io.circe.parser.parse(jsonString).right.get def decodeJson[T](json: Json)(implicit d: io.circe.Decoder[T]) : T = json.as[T].right.get def login = Action(circe.json[RootObject]) { implicit request =&g...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装