前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >springcloud学习手册-实现Config server的高可用

springcloud学习手册-实现Config server的高可用

作者头像
程序源代码
发布2018-03-09 17:36:24
9900
发布2018-03-09 17:36:24
举报
文章被收录于专栏:程序源代码

一、GIT是什么?

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。那目前市面上主流的GIT版本控制软件平台有哪些呢?目前市面上流程控制平台有:github、git@osc、Coding、gitLab

  • github 作开发的同事应该都听说过它,github是一个面向开源及私有软件项目的托管平台,于2008年4月10日正式上线,目前注册用户有三百多万,一些知名开源项目如Rails、jQuery、python 都在上面托管,所以程序员都应该去这个网站去看看,下载些别人的代码,学习下。
  • git@osc 中国人自己的开源软件,开源中国,又叫码云。主要也是为开发者提供稳定、高效、安全的云端软件开发协作平台 。个人或企业,可用它实现代码托管、项目管理、协作开发等等。
  • coding Coding.net 是一个面向开发者的云端开发平台,提供代码托管、代码质量分析、在线 WebIDE、项目管理等。
  • gitLab 乌班图操作系统下一款用于仓库管理的大名鼎鼎软件。

总结:其实不管是什么样的GIT软件,它最重要的功能作用就是用于版本控制。 所以对于config server 来说基于git来仓库管理是可靠的。

二、MQ怎么高可用?

RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言,但其本身并不支持负载均衡。Rabbit模式大概分为以下三种:单一模式、普通模式、镜像模式。如何实现mq高用可那就需要普通模式即集群模式来进行实现:

上述图里是3个RabbitMQ运行在同一主机上,分别用不同的服务端口。当然我们的生产实际里,多个RabbitMQ肯定是运行在不同的物理服务器上,否则就失去了高可用的意义。

三、如何构建springcloud Config 高可用?

一般情况下 Config server是配合Eureka server使用的。这样可以达到一种可靠的可用状态。这种情况下,只需要将多个config server节点注册到Eureka server,就可以实现config server的高可用状态。如下边的结构图所示:

主要步骤如下:

第一步:Config Server端加入Eureka

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-eureka</artifactId>

</dependency>

第二步:添加Eureka支持,将配置服务注册到Eureka上去。并且配置属性文档,加入必要属性

  • port 服务端口
  • name 服务名称
  • GIT配置 ,如配置uri(仓库位置)、searchPaths(仓库路径下的相对搜索位置,可以配置多个)、username(访问GIT仓库的用户名) 、password(访问GIT仓库的密码),因为config要基于git使用的,所以这里也配置了git的一些属性。

四、验证配置中心是否可用。

服务端我们已经配置创建完成,那怎么验证一下是否可用呢。

第一步:根据GIT配置的仓库位置,在下面创建一下config-repo目录作为配置仓库。并创建4个配置文件表示不同的环境。其中设置from属性为每个配置文件分别设置了不同的值。

第二步:通过如下格式进行访问

第三步:返回JSON结果

可以看到多了个version版本号属性,它对应 的是git上的commit 号。证明git已经管理起来了配置文件这些信息。也说明了git仓库已经对环境配置进行了版本管理,这样用户就可以通过客户端(config 客户端)来方便地访问这些配置内容了。

五、总结

通过面向服务的配置方式,config 完成服务配置的维护,解决了对路由映射实例的维护问题。配置服务器默认采用git来存储配置信息,这样就有助于对环境配置进行版本管理,并且可以通过git客户端工具来方便的管理和访问配置内容。同时Config server是配合Eureka server使用的,这样可以达到一种可靠的可用状态。

声明:文章属于个人原创,转载请注明文章出处

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

本文分享自 全华班 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档