當前位置:首頁 » 存儲配置 » 為什麼要用配置中心

為什麼要用配置中心

發布時間: 2023-02-07 07:27:43

① 談談微服務架構是一個怎樣的存在

微服務是近些年被廣泛提及的一個概念, 微服務架構可以理解為一個輕量級的服務治理方案, 也就是將系統的功能,通過服務的形式發布到伺服器上,對服務進行組合調用,實現具體的功能,解決實際業務問題的架構風格。

微服務產生於單體應用的擴大化,隨著信息化不斷發展,企業對軟體功能的要求越來越具體,也愈發的細致,如果通過應用程序來實現,必然是一個極其復雜而又痛苦的過程,由此誕生了微服務的概念。就是 將功能發布成服務,應用程序通過調用不同的服務來實現業務, 這種設計架構稱之為微服務。

微服務架構的優點在於每個服務可以有獨立的團隊開發,服務之間互不幹涉,保障了系統的穩定性。由於功能被拆分到更細的粒度,有效的降低了程序的復雜程度,對硬體的需求也隨之降低,但是微服務也有一些不足,比如服務調用帶來的系統復雜性,服務間的依賴關系也是難以管理的,如何構建合理的服務依賴是考驗架構師能力的重要依據;最後,微服務架構的部署以及跟蹤也是很難的。總之, 微服務架構有著自身的應用場景以及特點,了解哪些場景適合微服務比掌握微服務的具體技術更為重要, 適當的技術用在適當的場景,才能發揮合適的價值。

微服務架構是當前最流行的技術架構,主要組件有注冊中心、網關、配置中心和各種微服務模塊。架構靈活、易擴展、可動態擴容。

在微服務之前,系統架構經歷很長時間的演變,簡述如下:

1.無架構

頁面邏輯和業務邏輯混在一起,甚至頁面直接訪問資料庫

優點:因為沒有太多的訪問路徑轉換,效率是最高的;

缺點:沒有分層,邏輯混亂,維護難,擴展難。

2.MVC

架構

單系統,表現層、邏輯層、業務層分開,各層分工協作。

優點:邏輯清晰、分工明確、易維護。

缺點:系統集中部署,屬於強耦合,某些業務模塊出現異常時,會導致整個系統無法訪問。

3.SOA架構

面向服務的架構,多個系統分布式部署,通過消息匯流排進行通訊。

優點:各個系統的業務相對獨立,耦合低;

缺點:消息匯流排負擔太重,中心化太重,介面缺乏規范。

4.微服務架構

一個系統,按照粒度規劃,劃分為很多的微服務,而每個微服務,對應一個具體的業務實現,並可擁有自己獨立的資料庫,整個就是微服務架構。

優點:如上,架構靈活、易擴展,在實際運營時,按需擴容,集群部署。各個微服務業務互不影響,耦合性低;

缺點:開發成本高,對部署有一定的專業性要求。


從技術而言,微服務已經是一個設計理念很成熟的架構,可滿足不同層次,不同業務場景的需要,而且經過多個版本的迭代,該踩的坑也基本踩完,生態系統完整,開源組件選擇多多,很有一統天下的趨勢,值得嘗試。


但,不要為了微服務而微服務,要根據自己實際的要求去做抉擇和取捨。

比較,適合自己的,才是最好的!

微服務是近幾年技術社群討論很多的一種軟體架構方式,可以說是SOA的現代版本、 時尚 版本。不過這次浪潮不是由大公司倡導的,而是由工程師們引領的。比如,它採用工程師們熟悉的RESTful介面,而不是笨重的WebService,也不需要一大堆昂貴的中間件。

那微服務為什麼流行起來?按理說它們都是讓軟體更加模塊化,使相互之間保持松耦合,從而優化系統架構。

國內流行起來的微服務架構——RestCloud

RestCloud 為了保證服務不注冊中心癿高可用性,服務不注冊中心通過水平擴展癿能

力允許對服務不注冊中心迚行集群配置,開在網關層做了服務癿注冊癿數據緩存

Spring Cloud Eureka 是 Spring Cloud Netflix 微服務套件中癿一部分,它基於 Netflix Eureka做了二次封裝。主要負責完成微服務架極中的服務治理功能。



易用性

如果你目前使用SpringBoot開發API服務則無需修改任何代碼,只需引入RestCloud配置中心的jar包即可由配置中心接管所有配置,對開發人員無任何感知,如果你使用RestBoot開發平台開發API則已經是天然集成了配置中心的客戶端Jar包無需任何依賴。 如果你使用php,c#開發目前RestCloud並沒有提供現成的解決方案,你需要通過Rest API來接入RestCloud配置中心並自已在本地實現配置緩存管理。

穩定性

RestCloud採取全新的本地配置持久化技術,保證配置中心不會形成單點故障,因為所有的配置數據在應用則具有本地緩存和持久化技術,假定RestCloud配置中心出現故障且長時間未能恢復的情況下,應用則的程序會自動讀取本地緩存配置數據. 進一步假定這時應用也剛好出現故障需要重啟,則本地緩存在重啟後將會消失,這時應用將自動從持久層再次讀取配置數據到緩存中從而恢復運行,所以RestCloud配置中心不會出現故障後影響應用的運行,RestCloud配置中心優於目前開源的大多數配置中心解決方案。

易用性

如果你目前使用SpringBoot開發API服務則無需修改任何代碼,只需引入RestCloud配置中心的jar包即可由配置中心接管所有配置,對開發人員無任何感知,如果你使用RestBoot開發平台開發API則已經是天然集成了配置中心的客戶端Jar包無需任何依賴。 如果你使用php,c#開發目前RestCloud並沒有提供現成的解決方案,你需要通過Rest API來接入RestCloud配置中心並自已在本地實現配置緩存管理。

穩定性

RestCloud採取全新的本地配置持久化技術,保證配置中心不會形成單點故障,因為所有的配置數據在應用則具有本地緩存和持久化技術,假定RestCloud配置中心出現故障且長時間未能恢復的情況下,應用則的程序會自動讀取本地緩存配置數據. 進一步假定這時應用也剛好出現故障需要重啟,則本地緩存在重啟後將會消失,這時應用將自動從持久層再次讀取配置數據到緩存中從而恢復運行,所以RestCloud配置中心不會出現故障後影響應用的運行,RestCloud配置中心優於目前開源的大多數配置中心解決方案。

網站鏈接:http://www.restcloud.cn/restcloud/mycms/index.html

參考資料:https://blog.csdn.net/kezi/article/details/81276727

② 微服務初體驗(二):使用Nacos作為配置中心並集成Dubbo

首先啟動Nacos,按照上篇文章的步驟,啟動Nacos服務和項目,訪問Nacos的web頁面。確保項目中的服務都注冊到注冊中心當中了。在application.yml同級目錄下添加bootstrap.yml,在Spring boot項目中bootstrap.yml會比application.yml優先初始化,所以我們需要在bootstrap.yml中引入Nacos官方指定的配置文件即可(上篇文章中已經把Nacos作為配置中心的配置寫入了application.yml,現在只需要把它從applicaiton.yml中剪切出來即可, 其中的spring:application:name會作為Nacos中新增配置時的Data ID,需要留意 ),再新增屬性gorup進行分組測試,如下圖

接著打開Nacos的服務的web頁面,打開配置管理->配置列表,點擊右側新增按鈕,進行新增。
Data ID: bootstrap.yml配置文件中spring:application:name對應的名稱
Group:指定分組(便於不同環境下的項目配置管理,因為筆者這里屬於測試,所以填寫的是和上文中的配置文件中group對應的test一致);
描述:針對於該配置的描述;
配置格式:配置文件的格式,要和Data ID中的後綴格式一致(這里筆者用的是yml,那麼下面就選擇yaml,注意該位置也可以選擇properties,但是必須和上面bootstrap.yml文件中的file-extension的值相匹配);
配置內容:具體的配置內容(這里筆者將項目中的application.yml中的配置全部拷貝至其中);

測試啟動consumer服務,在application.yml中為空的時候,項目啟動埠還是如Nacos配置中的9011,說明項目依賴Nacos的配置中心成功,其他服務如法炮製即可:

新增一個測試Controller,然後加上@RefreshScope註解,表明該Controller中的配置數據為自動刷新

編輯Nacos中的配置文件consumer新增相關參數type: test,訪問Controller,返回test。效果如下圖:

將Nacos中consumer.yml文件的type: test修改為type: prod,在不重啟項目的情況下重新訪問對應的controller,效果如下圖:

因為Dubbo是屬於各個服務之間都要公用的依賴,所以將其引入cloud-common當中,詳細的版本可以去 mvnrepository 搜索合適自己項目的

引入依賴後需要編寫消費者服務中的配置文件,將Dubbo服務注冊至Nacos,新增如下內容,其中subscribed-services指的是生產者服務,prot:-1指的是埠隨機,registry:address:指的是Dubbo對應的注冊中心那這里就應該設置為Nacos

接下來新增介面服務,項目類型為Maven項目,在項目中新增一個介面。並在cloud-provider(生產者)和cloud-consumer(消費者)pom.xml文件中都引入該模塊

在生產者實際服務中實現該介面對應的方法

在服務消費者的Controller中引入該Service,並在該Service上加入@Reference註解,注意在引入jar包的時候選擇帶有Dubbo的,不要使用Jdk原生的

編寫消費者服務中測試Dubbo調用的介面,進行測試,測試結果如下圖:

③ 為什麼要配置多種中心頻率的天線

提高傳輸信號質量。多天線技術在提高頻譜效率、支持更高速的數據傳輸、提高傳輸信號質量、增加系統覆蓋范圍和解決熱點地區的高容量要求等方面有無可比擬的優勢。

④ 為什麼電機控制PWM都要配置成中心對齊模式

對稱模式的時候他的諧波是偶函數,可以對稱抵消掉,到達降低諧波的目的。

⑤ SQLServer配置中心的幾項服務分別是干什麼的本人目前只有二十分全用上了~坐等大俠幫忙

點擊看大圖

為啥不進

控制面板---管理工具----服務-

里邊所有的服務都有詳細信息描述

⑥ 資料庫配置為什麼不能放在配置中心

分布式配置中心不僅具有多級緩存,而且還能夠控制流量

⑦ 什麼是應用配置三分鍾帶你快速了解應用配置介紹

配置文件是用來存儲相關軟體的一些信息,如初始化的信息,初始路徑和帳號等等,方便程序的移植。

硬編碼型

(用開發語言來說就是hard code)即:將軟體中配置的數據直接寫死在代碼中,例如:路徑,IP,等待時間等。這種方式不利於數據的修改,但是另一方面來說如果某些數據比較重要且固定,用硬編碼的方式可以保護這類的數據不被修改。

文件類型

也就是目前單體應用架構中常用的方式,將源代碼與配置文件分開管理,程序在啟動時讀取指定目錄下的文件內容來載入配置信息。這種方式十分有利於製品的晉升,即程序在不同環境中運行時,無須修改代碼,只需變更配置文件即可,例如在測試環境需要連接192.168.1.1:3306資料庫,而在生產環境運行時,需要連接192.168.1.2:3306資料庫,這時只需要變更配置文件即可。

資料庫類型

我們一般會將非文本形式的配置的信息存放在資料庫中,這種配置一般為功能和業務上的配置,可以動態變更,例如功能開關(新功能上線後,先隱藏起來,等待可以發布時,修改資料庫中的數據,即可將功能頁面開放出來)。

遠程調用型

即所有的配置集中管理起來,所有服務啟動或運行時通過介面載入配置,也就是我們所熟知的配置中心的方式。

單次載入類型

程序啟動時讀取的初始化配置,一般不會變化,例如連接資料庫的憑據信息等。

動態載入類型

程序運行時,根據業務需求變更的配置信息,例如功能開關,日誌級別等。

隨著數字化轉型的發展,線下業務逐漸線上化,應用數量與日俱增,應用架構也趨於多樣化和復雜化,這對於應用的配置也提出了越來越高的要求。

最初配置信息硬編碼在代碼中,與代碼一起放在源代碼倉庫中;為了安全性與管理的方便,將配置以文件的形式從代碼中分離出來管理,有的方式是將配置文件分發到目標機器的目錄上,程序啟動時直接讀取。有的方式是CI打包時,在不同環境晉升時將配置文件打入程序包內,程序解壓運行時從相對目錄讀取配置。

這些方式的特點是,配置變化慢,配置變更後需要重啟服務,所以在應用數量少,架構簡單的單體應用階段,是完全可以滿足業務的需求的。但是隨著微服務階段,尤其是容器化應用的到來,服務節點數量指數級增長,按照上述的方式來管理配置就無法滿足業務的需求了,這時候,配置中心應運而生。

簡單的來說就是將配置信息集中管控,當然隨著業務的發展和應用架構的復雜度,對於配置中心的功能要求也非常的多,但總的來講至少需要滿足下面幾個需求:

高可用

所有的配置信息集中管理,配置中心的重要性不言而喻。

實時性:

業務的需求需要配置的更新盡快通知到客戶端,比如說藍綠發布,主備切換等場景。

多環境多集群管理:

配置文件的主要場景還是在不同環境下支持同一個程序的運行,所以針對於環境的管理需要保證隔離與統一管理。很多應用還需要多集群部署,所以對於多集群的管理也是十分必要的。

治理:

配置的版本控制,配置的審計,配置許可權的控制,配置的灰度發布等。

有人可能會問:熱載入也是配置中心非常常用的功能場景呀,其實配置的熱載入取決於應用是否支持配置的熱載入,如果這個應用在將配置載入在內存後,除了重啟進程,沒有任何方法能變更內存里的配置,那麼對於配置中心來說它也無能為力,配置中心核心的職責是快速將配置的變更通知到目標客戶端。

在應用架構日益復雜的時代,對於配置中心需求會越來越旺盛,一個功能強大,穩定的配置中心將會是企業必需的系統。嘉為藍鯨應用配置中心是一款優秀的配置管理產品,基於CMDB進行擴展,面向應用運維,能以服務樹的形式展示應用拓撲,納管應用相關聯的信息,提供應用配置管理、程序包管理、配置文件管理、SQL文件管理、進程管理等功能,並可對接第三方製品庫。應用配置中心為上層的應用運維場景提供了配置數據,可以滿足應用發布、應用監控、智能運維等各種運維場景對數據消費的需求,是應用運維自動化的基礎。

嘉為藍鯨將持續不斷發力、快速迭代,為用戶應用和業務運維自動化持續提供強大動能。如果您的企業有相應需求,歡迎聯系嘉為藍鯨!

熱點內容
蘋果賬號密碼忘了怎麼注銷 發布:2025-07-15 15:30:50 瀏覽:200
自動閱讀掛機腳本 發布:2025-07-15 15:20:18 瀏覽:848
開票人的許可權配置如何選擇 發布:2025-07-15 14:51:22 瀏覽:131
怎麼把伺服器變成普通電腦 發布:2025-07-15 14:39:45 瀏覽:958
甘肅天水首選伺服器地址雲主機 發布:2025-07-15 14:34:32 瀏覽:716
我的世界java版好玩的外國伺服器網址 發布:2025-07-15 14:20:17 瀏覽:111
電腦的外存儲器 發布:2025-07-15 14:19:42 瀏覽:527
淘淘源碼 發布:2025-07-15 14:12:07 瀏覽:882
自己的主機可以搭建伺服器嗎 發布:2025-07-15 14:09:58 瀏覽:776
atilinux 發布:2025-07-15 14:01:42 瀏覽:822