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物