专栏首页程序源代码springcloud学习手册-实现Config server的高可用

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

一、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使用的,这样可以达到一种可靠的可用状态。

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

本文分享自微信公众号 - 全华班(quanhuaban),作者:全华

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-01-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • springcloud学习手册-Config 分布式配置中心

    导读 | Config分布式配置中心 ? 一、为什么需要使用配置中心来统一管理配置呢? 通常在一个分布式环境中,同类型的、不同类型的服务往往多达几个...

    程序源代码
  • 一套完全开源的微信小程序商场系统

    Open-Shop小程序商城,包括:分销(支持三级)、团购(拼多多模式)、秒杀、优惠券、等功能,前后端全部开源。做全网最开源、最稳定、功能做强大的开源小程序商城...

    程序源代码
  • 互联网云快速开发框架

    --我的信息 --我的通告 --文件 2、会员 --用户中心 --用户地图 --积分活动平台 --极光推送 3、营销 --营销活动 --活动汇 --现场活动平台...

    程序源代码
  • spring-cloud-config + spring-cloud-bus实现动态刷新集群配置

    安装 rabbitmq请移步:http://blog.csdn.net/red_sheeps/article/details/78386303 以下 demo代...

    RedSheep
  • SpringCloud--Config Server配置中心学习总结

    使用分布式微服务开发和部署项目,其中的一个优势就是:使用分布式配置协调服务,达到统一配置存储和使用。

    刘文正
  • Linux 运维工程师必备的80个监控工具(第30-80个)

    这是《Linux 运维工程师必备的80个监控工具》的下篇,上篇请点击:Linux运维工程师必备的80个监控工具全集(上) 与系统有关的监控 30 nmom[2...

    小小科
  • Android设备屏幕方向的一二事

    orientation的取值为: - 横屏:Configuration.ORIENTATION_LANDSCAPE - 竖屏:Configuration.O...

    fdroid
  • 如何在Github提交图片,做一个自己的图片仓库

    二、填写项目的信息,这个项目就是HMStrange的图片仓库,接下来的架构图等都会放到这个项目中。所以我将它取名为:img_HMStrange 。大家可以按照...

    Java猫说
  • 持续集成之钉钉通知

    在使用持续集成中,经常会涉及到通知的功能,比如自动化测试代码执行完成后,希望能够得到反馈,依据反馈的结果来看具体的结果。在Jenkins中可以使用Em...

    无涯WuYa
  • Android中轴旋转特效实现,制作别样的图片浏览器

    Android API Demos中有很多非常Nice的例子,这些例子的代码都写的很出色,如果大家把API Demos中的每个例子研究透了,那么恭喜你已经成为一...

    用户1158055

扫码关注云+社区

领取腾讯云代金券