本來應一個可愛帥氣的編輯之邀,要寫一本書《靜兒的互聯網服務治理私房菜》。想選服務治理的題材,想急著簽協議就寫了一個很匆忙的目錄和例章。寫書本是計划了很久的一件事情。現在反而有些猶豫了。我是不是應該把腳步放慢一些,再穩一些。我是不是應該自己先寫了一部分,再考慮簽約出版的事情。要做的事情太多了,比如:家 ...
本來應一個可愛帥氣的編輯之邀,要寫一本書《靜兒的互聯網服務治理私房菜》。想選服務治理的題材,想急著簽協議就寫了一個很匆忙的目錄和例章。寫書本是計划了很久的一件事情。現在反而有些猶豫了。我是不是應該把腳步放慢一些,再穩一些。我是不是應該自己先寫了一部分,再考慮簽約出版的事情。要做的事情太多了,比如:家裡首先有帥氣的男神要陪,人家老是計划著去這旅游,那旅游的。還有可愛的小鮮肉要陪,每天他都在長大,總覺得下一天他就沒有今天可愛了。我記得他1歲多的時候,抱著他在院子里玩,總是覺得6個月大的小寶寶好可愛。然後現在又覺得他2歲之前胖嘟嘟的好可愛。話說很多朋友反饋說我最近不跑題,不秀恩愛了
哎,再糾結一下要不要現在出版。例章自己不滿意,我要換掉。正好放到這裡,讓大家給點意見。寫了十幾頁,今天先放一部分。對了,編輯讓我不要手繪,用作圖工具。我記得我看過一本外國大牛的書,啥來著,挺有名的,裡面全是草稿紙似的作圖。大家覺得呢,我應該用作圖工具嗎?誰能幫我想起來那本書的名字嗎?
第1章 服務治理概述
服務治理是伴隨著服務的概念同步產生的,只是隨著SOA(面向服務架構),微服務架構的流行,服務治理的地位日益凸顯,大家也開始越來越重視這個話題。筆者在實際工作過程中發現很多人對服務治理的認知停留在服務治理框架的層面,思想受到框架的限制,本章內容主要帶領大家對服務治理有個清晰明確的概念。
1.1 服務、服務治理的概念
周末做了一道“水果什錦紫薯彩椒鴨”。盛菜的容器是大半個火龍果挖去果肉後的殼,彩椒水果的點綴色彩絢麗,賣相還不錯。發到朋友圈,有朋友回覆說:“靜兒的味道有點複雜。”還有朋友回覆很直接:“這樣搭配真的好吃麽。”下麵公開我的私房食譜,味道大家自己來評判吧。
首先將鴨肉洗凈用刀背拍打至肉質鬆軟,切成小塊備用。紫薯半個,切成小塊備用。紅色黃色彩椒各四分之一個,切小塊備用。紫薯過油炸熟。炒鍋留少許油,爆蔥薑出香味後放入切好的鴨肉和炸過的紫薯,放鹽,葡萄酒,煸炒至熟。放入彩椒,翻炒兩下出鍋。少涼後放入火龍果殼內,上擺水果點綴。
鴨肉活血,是養生的美食,但是肉質硬,所以要拍打鬆軟。鴨肉腥味重,所以做北京烤鴨用的烤木都是果木,自帶果香,還有去腥的作用。我這裡採用葡萄酒,去腥去油膩效果很贊。紫薯是高澱粉的,油炸過後香味誘人,還能進一步去腥。放入彩椒葷素搭配,兩下就出鍋減少維生素C損失。上擺水果,火龍果殼,好看又開胃,進一步吸收腥味。
怎麼樣?分解來看之後是不是沒有大雜燴的感覺了?現在互聯網開發的系統越來越複雜,怎樣讓系統服務各司其職,共同承載系統的運行任務呢。美食靠烹飪,服務靠治理。
大約在2010年時,zookeeper還不是很流行,當時我們團隊從零開始開發一個商務領域的社交網站。我們的資料庫使用的是主備資料庫,我甚至自己寫了一個socket發報文去監聽資料庫狀態。各個業務分支都要依賴我的這個服務獲取資料庫配置。開發階段,一開始不穩定,經常資料庫連接無法獲取,所有的開發人員都從座位上站起來眼巴巴的等待我解決問題。
後來zookeeper的出現有效的解決這些配置管理的問題,後來越來越完善的服務治理設計方案和框架大大簡化著互聯網開發,提高著系統的穩定性,併為性能優化提供著數據支持。 談服務治理,先來說說服務。
1.什麼是服務? 從業務角度而言,服務是一個可重覆的任務。我是個做業務的,業務可以被粗粒度的劃分為一系列粗粒度的服務和流程。這本質上符合SOA架構的風格,而現在比較流行的微服務出現實際上應當歸功於SOA原則的成功。而微服務將服務劃分的更細、更多,會導致出問題的概率變大。這時候,服務治理的手段沒有進步的話,實際上服務的壓力是變大了。所以大家在選擇架構時,需要按照自己的業務發展現狀和趨勢合理的辯證的做決斷。
舉個例子:如果要建一間房子,可能隨便建個土房子或者茅草房子就能用幾十年,但是隨著規模的擴大,建成四合院就要講究格局,建成一個小區,建成一座城市,就需要運用各種工程學的知識更加統籌的規劃。
2.什麼是服務治理?
那什麼是服務治理呢。本質上任何能提升服務可用性和性能,讓服務更穩定等,只要是能讓服務運行的更好,都屬於服務治理的範疇。
下麵是筆者對服務治理做了一個梳理所化的圖,服務治理包括但不限於下圖內容。服務治理各個內容模塊的意義和實現方式都會在以後的章節中仔細闡述。
服務治理並沒有非常具體的邊界,但可以歸納為一些關鍵詞:服務發現、服務變更管理、服務監控、服務擴容縮容、服務自我保護、服務降級、服務授權防攻擊、服務上線驗證和灰度發佈、服務問題定位和跟蹤、服務負載、服務實例的調度等。 服務治理涉及到開發過程中的方方面面,下麵幾節從上至架構設計下至網路編程模型各個方面來看一下和服務治理的關係。
靜兒心語:
當我願意放下一切,和你一起嘗盡天下美食,看遍天下美景,一起打造我們的將來時,你說著“沒有誰離不開誰”轉身離去。那麼,現在也不要再來找我,寧願懷念,永不相見。