1. 程式人生 > >spring cloud學習——spring cloud config(一)

spring cloud學習——spring cloud config(一)

前言:

Spring Cloud 為開發人員提供了一系列的工具來快速構建分散式系統的通用模型 。例如:配置管理、服務發現、斷路由、智慧路由、

微代理、控制匯流排、一次性Token、全域性鎖、決策競選、分散式session、叢集狀態等等。分散式系統的協助需要一大堆的模型,使用Spring

Cloud開發者能快速的建立支援實現這些模式的服務和應用程式。他們將適用於任何分散式環境,無論是開發者的個人電腦還是生產環境,

還是雲平臺。

它有很多元件(子專案),下面列舉它的一些元件:

Spring Cloud Config:配置管理開發工具包,可以讓你把配置放到遠端伺服器,目前支援本地儲存、Git以及Subversion。

Spring Cloud Bus:事件、訊息匯流排,用於在叢集(例如,配置變化事件)中傳播狀態變化,可與Spring Cloud Config聯合實現熱部署。

Spring Cloud Netflix:針對多種Netflix元件提供的開發工具包,其中包括Eureka、Hystrix、Zuul、Archaius、feign

Netflix Eureka:雲端負載均衡,一個基於 REST 的服務,用於定位服務,以實現雲端的負載均衡和中間層伺服器的故障轉移。

Netflix Hystrix:容錯管理工具,旨在通過控制服務和第三方庫的節點,從而對延遲和故障提供更強大的容錯能力。

Netflix Zuul:邊緣服務工具,是提供動態路由,監控,彈性,安全等的邊緣服務。

Netflix Archaius:配置管理API,包含一系列配置管理API,提供動態型別化屬性、執行緒安全配置操作、輪詢框架、回撥機制等功能。

Spring Cloud for Cloud Foundry:通過Oauth2協議繫結服務到CloudFoundry,CloudFoundry是VMware推出的開源PaaS雲平臺。

Spring Cloud Sleuth:日誌收集工具包,封裝了Dapper,Zipkin和HTrace操作。

Spring Cloud Data Flow:大資料操作工具,通過命令列方式操作資料流。

Spring Cloud Security:安全工具包,為你的應用程式新增安全控制,主要是指OAuth2。

Spring Cloud Consul:封裝了Consul操作,consul是一個服務發現與配置工具,與Docker容器可以無縫整合。

Spring Cloud Zookeeper:操作Zookeeper的工具包,用於使用zookeeper方式的服務註冊和發現。

Spring Cloud Stream:資料流操作開發包,封裝了與Redis,Rabbit、Kafka等傳送接收訊息。

Spring Cloud CLI:基於 Spring Boot CLI,可以讓你以命令列方式快速建立雲元件。

今天我們將介紹一下spring cloud config,前面也有介紹,它是配置管理開發工具包,可以讓你把配置放到遠端伺服器,目前支援本地儲存、

Git以及Subversion。換句話將,有點類似與之前dubbo與zookeeper整合框架中,zookeeper也有統一管理配置檔案的作用。spring cloud config其實也是為了管理配置檔案而生的。

那spring cloud config其實也是一個普通的maven專案,具體步驟自己去其它網站看,也很簡單。現在主要講一下一些注意的點或者自己認為比較重要的點。

 1,springCloudConfig分服務端和客戶端,服務端負責將本地,git或者svn中儲存的配置檔案釋出成REST風格的介面,客戶端可以從服務端REST介面獲取配置。但客戶端並不能主動感知到配置的變化,從而主動去獲取新的配置,這需要每個客戶端通過POST方法觸發各自的/refresh介面。而我們上面說的SpringCloudBus就發揮了其作用了

SpringCloudBus通過一個輕量級訊息代理連線分散式系統的節點(有點像訊息佇列那種)。這可以用於廣播狀態更改(如配置更改)或其他管理指令。SpringCloudBus提供了通過post方法訪問的endpoint/bus/refresh(spring boot 有很多監控的endpoint,比如/health),這個介面通常由git的鉤子功能(監聽觸發)呼叫,用以通知各個SpringCloudConfig的客戶端去服務端更新配置。

x下面是一張spring cloud config結合bus的一張工作流圖


2.第二個就是去訪問配置檔案時的,優先順序關係的問題,請看下面的圖(是自己嘗試的資料,直接從server訪問的)



配置的優先順序自上而下,上面的最高

關於spring Cloud config的專案,我簡單的寫了一下,專案放在我的github上


相關推薦

Spring Boot 學習之基礎篇

該系列並非完全原創,官方文件、作者Spring Boot 是由 Pivotal 團隊提供的全新框架,其設計目的是用來簡化新 Spring 應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。一、環境搭建建立一個Maven專案,

spring cloud學習——spring cloud config

前言:Spring Cloud 為開發人員提供了一系列的工具來快速構建分散式系統的通用模型 。例如:配置管理、服務發現、斷路由、智慧路由、微代理、控制匯流排、一次性Token、全域性鎖、決策競選、分散式session、叢集狀態等等。分散式系統的協助需要一大堆的模型,使用Spr

Spring Cloud Config:聊聊分散式配置中心 Spring Cloud Config

目錄 Spring Cloud Config(一):聊聊分散式配置中心 Spring Cloud Config Spring Cloud Config(二):基於Git搭建配置中心 Spring Cloud Config(三):基於JDBC搭建配置中心 Sprin

Spring Cloud 服務註冊與發現

簡介: Spring Cloud是一個基於Spring Boot實現雲應用的開發工具。Spring Cloud 是Pivotal提供的用於簡化分散式系統構建的工具集。Spring Cloud引入了雲平 臺聯結器(Cloud Connector)和服務

Spring Cloud】全家桶介紹

一、微服務架構 1、微服務架構簡介   1.1、分散式:不同的功能模組部署在不同的伺服器上,減輕網站高併發帶來的壓力。   1.2、叢集:多臺伺服器上部署相同應用構成一個叢集,通過負載均衡共同向外提供服務。   1.3、微服務:微服務架構模式就是將web應用拆分為一系列小的服務模組,這些模組可以獨立地

從零搭建Spring Cloud Gateway閘道器

# 新建Spring Boot專案 怎麼新建Spring Boot專案這裡不再具體贅述,不會的可以翻看下之前的部落格或者直接百度。這裡直接貼出對應的pom檔案。 pom依賴如下: ```xml 4.0.0 org.springframework.boot

Spring Security原理學習--簡介與示例

一、簡介 Spring Security 提供了基於javaEE的企業應有個你軟體全面的安全服務。這裡特別強調支援使用SPring框架構件的專案,Spring框架是企業軟體開發javaEE方案的領導者。如果你還沒有使用Spring來開發企業應用程式,我們熱忱的鼓

Spring Boot學習進階筆記-添加定時任務

imp 配置 ren 時間 report rate enable lin enables 一、在Spring [email protected]/* */,啟用定時任務的配置。@SpringBootApplication@EnableSchedulingpubl

關於spring源碼的一些心得

blog clas 實現接口 繼承 classpath mage 獲取 ssp 源碼 總結:通過前面的一些認識,可以大致認為,ioc容器就是獲取一些需要使用的對象如pojo等的引用,相當於new 而ioc容器的作用也就是用於此處,用於獲取或者讀取對象實例

Spring整合Struts2和Hibernate+Maven之Maven專案建立

趁著畢設的功夫,寫一些東西。也算是記錄個人平時畢設完成的過程。 建立專案 工具:intellij idea+JDK1.6+Maven 第一步:New Project ->點選左側maven ->勾選Create fromarchetype 後選擇maven-archet

spring AOP——名詞,語法介紹

    需要注意的是:springAOP 被增強的類必須是 IOC容器的bean     AOP 名詞介紹 切面(Aspect):一個關注點的模組化,這個關注點可能會橫切多個物件。事務管理是J2EE應用中一個關於橫切關注點的很好的例子。在Spring AOP中,切面可以使用

基於Controller介面的Spring MVC控制器的Web應用

一、建立一個基於maven的web應用  1.在pom.xml檔案中匯入以下依賴 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"

spring boot 整合thyemleaf基本使用

thyemleaf基本使用 :首先引入依賴thyemleaf <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star

Spring中Utils的使用系列:StringUtils

在Spring中,有非常多Utils工具類,這些工具類有的是為了開發者使用的,有的只是提供給Spring框架使用的。瞭解這些工具類,在適當的時候使用這些工具類,對我們平時的開發還是很有幫助的,能極大方便我們的開發。 Spring的工具類都是以Utils結尾,所以要檢視這些工具類,只需要在API文件中查詢所有

Spring boot 初步踩坑記

初步使用spring boot + mybatis 組合,然而在eclipse 內執行 妥妥的 一點的問題都沒有。打包成jar 和war ,執行時,報錯: Field XXXXin XXXX.DemoApplication required a bean of type

spring之AOP原始碼深入理解aop攔截

(一)  原始碼角度 攔截機 (Interceptor), 是 AOP (Aspect-Oriented Programming) 的另一種叫法。AOP本身是一門語言,只不過我們使用的是基於JAVA的整合到Spring 中的 SpringAOP。同樣,我們將通過我們的例子來理

Spring Boot 2.0 新特性:配置繫結 2.0 全解析

在Spring Boot 2.0中推出了Relaxed Binding 2.0,對原有的屬性繫結功能做了非常多的改進以幫助我們更容易的在Spring應用中載入和讀取配置資訊。下面本文就來說說Spring Boot 2.0中對配置的改進。 配置檔案繫結 簡單型別 在S

Spring boot專案helloworld進一步瞭解

本文內容梳理: 1、tomcat埠號修改(方式兩種) 2、banner改變 3、關於spring boot的返回資料解析(json資料和編碼格式) 4、整合jsp或者ftl頁面 (同時整合jsp和freemarker) 前期準備: 在上文基礎上完善檔案 新增目錄resources(

Spring Boot 入門之基礎篇

一、前言 Spring Boot 是由 Pivotal 團隊提供的全新框架,其設計目的是用來簡化新 Spring 應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。 本系列以快速入門為主,可當作工具小手冊閱讀

spring原始碼學習筆記-初始化-BeanFactory

轉自http://www.sandzhang.com/blog/2011/04/05/spring-study-notes-initialization-3/ refresh()方法中在上篇obtainFreshBeanFactory()方法建立了beanfactory物