雲計算架構設計模式

雲計算架構設計模式 pdf epub mobi txt 电子书 下载 2025

艾利剋斯洪木爾 著
想要找书就要到 求知書站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 华中科技大学出版社
ISBN:9787568034029
版次:1
商品编码:12270942
包装:平装
开本:16开
出版时间:2017-12-01
用纸:胶版纸
页数:244
字数:390000
正文语种:中文

具体描述

編輯推薦

適讀人群 :高級工程師、運維工程師、架構師、技術經理、技術總監、CTO
架構即未來
移動互聯網、雲計算、大數據時代,麵臨更多的技術挑戰問題,設計模式已經從單一的OO問題領域嚮外擴張延伸,設計模式的範疇不會局限於語言本身,更多擴展到架構設計領域
我個人對編程語言沒有偏見,它們各有所長,大傢互相學習。有實力的程序員不需要通過編程語言來找優越感,都在踏實地研究技術。我接觸的優秀程序員無論是對C++、Java,還是對C#等都沒有編程語言的歧視。況且底層的算法、數據結構和設計模式都沒有編程語言限製。
架構師和技術專傢 程序員中的精英群體,技術領袖,也是公司中受人尊敬的群體。
十年磨一劍 精華知識
本書介紹瞭雲計算時代、zui經典的24種架構設計模式,包含基於雲平颱設計架構麵臨的問題以及典型的解決方案,另外還有10個架構設計指南。
24種經典的設計模式包括:高並發、健康健康、消息編排、架構伸縮、緩存、消息推送、大數據存儲和優化、安全令牌等架構設計的關鍵問題,是一本zui近幾年難得的架構與設計模式圖書。
本書內容不受編程語言限製,可以根據需要使用.NET、Java、PHP、Node.js、Go等。雲計算平颱可以是Azure、AWS、阿裏雲等共有雲,也可以是私有雲平颱。
推薦本書給高級工程師、運維工程師、架構師、技術經理、技術總監、CTO學習使用。

內容簡介

本書主要介紹瞭雲計算時代、zui經典的24種架構設計模式,包含基於雲平颱設計架構麵臨的問題以及典型的解決方案,另外還有10個架構設計指南。
24種經典的設計模式包括高並發、健康健康、消息編排、架構伸縮、緩存、消息推送、大數據存儲和優化、安全令牌等架構設計的關鍵問題,是一本zui近幾年難得的架構與設計模式圖書。
本書內容不受編程語言限製,可以根據需要使用.NET、Java、PHP、Node.js、Go等。雲計算平颱可以是Azure、AWS、阿裏雲等共有雲,也可以是私有雲平颱。
推薦本書給高級工程師、運維工程師、架構師、技術經理、技術總監、CTO學習使用。

作者簡介

Alex Homer是微軟PP小組的技術作者。在加入微軟之前,他做瞭多年的軟件設計和培訓工作。他在小組的主要精力花費在設計模式和架構方麵,還編寫指南和例子代碼。他的博客地址是http://blogs.msdn.com/alexhomer/。
John Sharp 是Content Master (www.contentmaster.com)的首席技術專傢。專注於使用.NET框架和Azure平颱開發應用係統。John寫過《Microsoft Visual C# Step By Step》 和 《Microsoft WCF Step By Step》。John講授過許多培訓課程,也寫過許多覆蓋諸多領域,比如C和C++編程、SQL Server數據庫管理以及麵嚮服務架構的技術文章。他獲得瞭倫敦大學帝國理工學院的計算機科學學位。
Larry Brader是微軟模式與實踐小組的高級測試工程師,負責PP小組不同項目的測試工作,專注於客戶端和服務器端。此外他對於基於ALM生成測試指南也有濃厚的興趣。
Masashi Narumoto熱衷於將互聯網作為知識庫的想法。互聯網已經顯著改變瞭我們的生活,毫無疑問還會帶來巨大的變化。他的目標是匯聚大傢的智慧以更有意義的形式提供齣來,方便更多的人學習。在就職於模式與實踐小組期間,他作為程序經理負責並完成瞭多個Azure指南的係列文檔的編寫工作,現在關注於大數據領域。之前,他花費瞭20多年時間來開發和谘詢各種不同的解決方案,尤其是零售和製造業。Masashi的博客地址是http://blogs.msdn.com/masashi_narumoto,推特賬號是@dragon119。
Trent Swanson是Full Scale 180的軟件架構師,也是創始人之一,主要使用雲計算技術。他一開始就使用Azure技術,幫助全球各地的客戶來構建、部署和管理Azure上的雲計算解決方案。無論是遷移現有應用到雲計算平颱還是構建全新應用,他都享受整個交付伸縮的、可靠的和可管理的雲計算解決方案。

精彩書評

架構即未來
移動互聯網、雲計算、大數據時代,麵臨更多的技術挑戰問題,設計模式已經從單一的OO問題領域嚮外擴張延伸,設計模式的範疇不會局限於語言本身,更多擴展到架構設計領域
我個人對編程語言沒有偏見,它們各有所長,大傢互相學習。有實力的程序員不需要通過編程語言來找優越感,都在踏實地研究技術。我接觸的優秀程序員無論是對C++、Java,還是對C#等都沒有編程語言的歧視。況且底層的算法、數據結構和設計模式都沒有編程語言限製。
架構師和技術專傢 程序員中的精英群體,技術領袖,也是公司中受人尊敬的群體。
十年磨一劍 精華知識
本書介紹瞭雲計算時代、zui經典的24種架構設計模式,包含基於雲平颱設計架構麵臨的問題以及典型的解決方案,另外還有10個架構設計指南。
24種經典的設計模式包括:高並發、健康健康、消息編排、架構伸縮、緩存、消息推送、大數據存儲和優化、安全令牌等架構設計的關鍵問題,是一本zui近幾年難得的架構與設計模式圖書。
本書內容不受編程語言限製,可以根據需要使用.NET、Java、PHP、Node.js、Go等。雲計算平颱可以是Azure、AWS、阿裏雲等共有雲,也可以是私有雲平颱。
推薦本書給高級工程師、運維工程師、架構師、技術經理、技術總監、CTO學習使用。
微軟P&P;模式與實踐小組
微軟P&P;小組鼎鼎的大名是微軟模式與實踐小組親自打造的,為開發基於雲計算架構應用程序遇到的常見問題提供瞭經典的解決方案,並將常用的經典方案歸類為設計模式。
微軟模式與實踐小組是微軟zui早的開源社區團隊之一,主要關注於把行業經典設計模式與實際項目開發相結閤的技術研究。
微軟早期眾多的開源項目都是由該小組主導完成,同時還編寫瞭許多經典書籍和代碼。
如果你堅持研究.NET技術10年以上,就一定看過微軟P&P;小組的學習資料。
在.NET領域10年以上的程序員應該不會對P&P;小組陌生。其技術實力非常強,國內很多.NET架構師都是看P&P;小組的文章和代碼成長起來的。
我“菜鳥”階段,第yi次看完P&P;小組的文章就成為其忠實的粉絲,至今依然嚮技術圈子的朋友和新青年架構班的同學推薦他們的資料。
10年前P&P;小組開源的Enterprise Library代碼、分布式與安全的文檔,到後來的IOC容器Unity等,都是精華知識的沉澱。
23種設計模式
Erich Gamma等在《設計模式》一書種介紹瞭23種經典的設計模式。
本書介紹的24種經典設計模式包含高並發、健康健康、消息編排、架構伸縮、緩存、消息推送,大數據存儲和優化、安全令牌等架構設計的關鍵問題,是難得的的設計模式書籍,可以作為zui經典的Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides 4大金剛的《設計模式》的擴展閱讀資料。
24種雲計算架構模式
本書介紹的24種經典設計模式包含高並發、健康健康、消息編排、架構伸縮、緩存、消息推送、大數據存儲和優化、安全令牌等架構設計的關鍵問題,是難得的設計模式圖書。
(1)緩存駐留模式 (2)斷路器模式
(3)事務補償模式 (4)競爭消費者模式
(5)計算資源閤並模式 (6)命令和職責分離(CQRS)模式
(7)事件溯源模式 (8)外部配置存儲模式
(9)聯閤身份模式 (10)門衛模式
(11)健康終結點監控模式 (12)索引錶模式
(13)領導選舉模式 (14)物化視圖模型
(15)管道和過濾器模式 (16)優先級隊列模式
(17)基於隊列的負載均衡模式 (18)重試模式
(19)運行時重配置模式 (20)調度器代理監控模式
(21)分片模式 (22)靜態內容托管模式
(23)限流模式 (24)令牌模式
24種架構設計模式都有對應的例子代碼,可以下載參考。Java程序員也可以從中獲益良多。
10個架構設計指南
除瞭詳細介紹瞭24種雲計算架構設計模式以外,這裏還介紹瞭實際架構設計中的重要原則,歸類為10個方麵,可作為大傢進行架構設計時的參考。
(1)異步消息傳輸 (2)自動伸縮指南
(3)緩存指南 (4)計算分區指南
(5)數據一緻性指南 (6)數據分區指南
(7)數據復製與同步指南 (8)遠程監控指南
(9)多數據中心部署指南 (10)服務調用統計指南

目錄

目錄
Table of Contents
第1章 緩存駐留模式 1
背景和問題 1
解決方案 1
相關模式與指南 5
更多信息 5
第2章 斷路器模式 6
背景和問題 6
解決方案 6
問題與思考 8
何時使用此模式 10
相關模式和指南 14
第3章 補償事務模式 15
背景和問題 15
解決方案 16
問題與思考 16
何時使用此模式 17
相關模式和指南 18
第4章 競爭消費者模式 19
背景和問題 19
解決方案 19
問題與思考 20
何時使用此模式 21
第5章 計算資源閤並模式 25
背景和問題 25
解決方案 26
問題與思考 26
應用場景 28
相關模式和指南 32
擴展閱讀 32
第6章 命令和查詢職責分離(CQRS)模式 33
背景和問題 33
解決方案 34
問題與思考 35
何時使用此模式 36
第7章 事件溯源模式 41
背景和問題 41
解決方案 41
問題與思考 43
何時使用此模式 44
相關模式和指南 47
第8章 外部配置存儲模式 48
背景和問題 48
解決方案 48
問題與思考 49
何時使用此模式 50
關聯模式和指南 56
第9章 聯閤身份模式 57
背景和問題 57
解決方案 57
問題與思考 59
何時使用此模式 59
相關模式和指南 61
更多信息 61
第10章 門衛模式 62
背景和問題 62
解決方案 62
問題與思考 63
何時使用此模式 63
相關模式和指南 64
第11章 健康終端監控模式 65
背景和問題 65
解決方案 65
問題與思考 67
何時使用此模式 68
相關模式和指南 71
更多信息 71

第12章 索引錶模式 72
背景和問題 72
解決方案 73
問題與思考 75
何時使用此模式 76
相關模式與指南 77
第13章 領導者選舉模式 79
背景和問題 79
解決方案 79
問題與思考 80
何時使用此模式 80
相關模式與指南 85
更多信息 85
第14章 實體化視圖模式 86
背景和問題 86
解決方案 86
問題與思考 87
何時使用此模式 88
相關模式與指南 89
第15章 管道過濾器模式 90
背景和問題 90
解決方案 91
問題與思考 92
何時使用此模式 93
相關模式與指南 97
第16章 優先隊列模式 98
背景和問題 98
解決方案 98
問題與思考 100
何時使用此模式 101
相關模式與指南 103
第17章 基於隊列的負載均衡模式 105
背景和問題 105
解決方案 105
問題與思考 106
何時使用此模式 107
相關模式和指南 108
第18章 重試模式 109
背景和問題 109
解決方案 109
問題與思考 111
何時使用此模式 112
相關模式與指南 114
更多信息 114
第19章 運行時重配模式 115
背景和問題 115
解決方案 115
問題與思考 116
何時使用此模式 117
相關的模式和指南 120
更多的信息 121
第20章 調度器代理管理者模式 122
背景和問題 122
解決方案 122
問題與思考 125
何時使用此模式 125
相關模式與指南 128
更多信息 129
第21章 分片模式 130
背景和問題 130
解決方案 130
分片策略 131
問題與思考 135
何時使用此模式 136
相關模式與指南 138
第22章 靜態內容托管模式 139
背景和問題 139
解決方案 139
問題與思考 139
何時使用此模式 140
相關模式與指南 143
更多信息 143
第23章 限流模式 144
背景和問題 144
解決方案 144
問題與思考 146
何時使用此模式 147
相關模式與指南 148
第24章 令牌秘鑰模式 149
背景和問題 149
解決方案 149
問題與思考 150
何時使用此模式 152
相關模式和指南 154
更多信息 154
第25章 異步消息傳輸指南 155
消息隊列本質 155
異步消息傳遞的場景 158
實現異步消息傳遞的注意事項 159
相關模式和指南 161
更多信息 162
第26章 自動伸縮指南 163
什麼是自動伸縮 163
實施自動伸縮的場景 164
實施自動伸縮的注意事項 164
Azure解決方案中的自動伸縮 165
相關模式和指南 167
更多信息 167
第27章 緩存指南 168
雲應用程序中的緩存 168
使用緩存的注意事項 170
管理緩存並發 172
相關模式和指南 173
更多信息 173
第28章 計算分區指南 174
Azure計算選項概述 174
計算界限設計指南 174
組件分離計算實例 176
相關模式與指南 177
更多信息 178
第29章 數據一緻性指南 179
管理數據一緻性 179
最終一緻性實現的注意事項 182
相關模式與指南 185
第30章 數據分區指南 186
為什麼需要數據分區 186
分區策略 187
設計可擴展性的數據分區 190
設計分區以提升查詢性能 191
分區可用性設計 192
問題與思考 192
相關模式與指南 194
更多信息 194
第31章 數據復製與同步指南 195
為什麼要數據復製及同步 195
復製和同步數據 195
數據復製和同步的注意事項 198
實現同步 200
相關模式與指南 201
更多信息 201
第32章 遠程監控指南 202
為什麼遠程監控很重要 202
監控 202
語義日誌記錄 204
遙測 205
遠程監控的注意事項 205
相關模式與指南 207
更多信息 208
第33章 多數據中心部署指南 209
為什麼部署到多個數據中心 209
多數據中心部署的思考 213
相關模式及指南 217
第34章 服務調用統計指南 218
為什麼服務調用統計很重要 218
服務調用統計的場景 218
服務調用統計的注意事項 220
示例 221
相關模式及指南 222
更多信息 222

精彩書摘

架構即未來
移動互聯網、雲計算、大數據時代,麵臨更多的技術挑戰問題,設計模式已經從單一的OO問題領域嚮外擴張延伸,設計模式的範疇不會局限於語言本身,更多擴展到架構設計領域
我個人對編程語言沒有偏見,它們各有所長,大傢互相學習。有實力的程序員不需要通過編程語言來找優越感,都在踏實地研究技術。我接觸的優秀程序員無論是對C++、Java,還是對C#等都沒有編程語言的歧視。況且底層的算法、數據結構和設計模式都沒有編程語言限製。
架構師和技術專傢 程序員中的精英群體,技術領袖,也是公司中受人尊敬的群體。
十年磨一劍 精華知識
本書介紹瞭雲計算時代、zui經典的24種架構設計模式,包含基於雲平颱設計架構麵臨的問題以及典型的解決方案,另外還有10個架構設計指南。
24種經典的設計模式包括:高並發、健康健康、消息編排、架構伸縮、緩存、消息推送、大數據存儲和優化、安全令牌等架構設計的關鍵問題,是一本zui近幾年難得的架構與設計模式圖書。
本書內容不受編程語言限製,可以根據需要使用.NET、Java、PHP、Node.js、Go等。雲計算平颱可以是Azure、AWS、阿裏雲等共有雲,也可以是私有雲平颱。
推薦本書給高級工程師、運維工程師、架構師、技術經理、技術總監、CTO學習使用。

前言/序言

序言
Preface
本書由微軟模式與實踐小組(微軟P&P;小組)親自打造,得到瞭許多社區開發者的支持,為開發基於雲計算架構的應用程序常見問題提供瞭解決方案。
本書指南
? 介紹實現雲計算應用時,尤其是托管在Azure雲平颱時使用這些設計模式的好處。
? 討論雲計算設計模式的經典問題和解決方案,以及它們如何與Azure關聯到一起。
? 展示如何使用Azure功能實現這些模式,強調其優點與顧慮。
? 通過描述如何把這些設計模式應用到雲計算應用架構中以及它們之間的關係來描繪知識體係的宏偉藍圖。
本書介紹的主題適用於所有的分布式係統,無論是托管在Azure中還是其他雲計算平颱中。
我們的目的並非提供設計模式的詳盡集閤,而是選擇瞭對雲計算應用zui有用處的設計模式——尤其考慮到在用戶中的流行度。本書不是詳細介紹Azure平颱功能的指南。要學習Azure可以參考http://azure.com。
本書內容
結閤開發社區的代錶性反饋,我們把雲計算應用開發領域zui常見的問題歸納為8類。
類彆 描述
可用性 可用性定義為係統正常工作的時間比例。它受係統錯誤、基礎架構問題、各種工具以及係統負載的影響。通常根據係統正常運行的時間來衡量。雲計算應用為用戶提供瞭服務級彆協議(SLA),它指的是應用程序必須以zui大化可用性的方式設計和實現
數據管理 數據管理是雲應用的關鍵部分,並且影響質量特性。由於諸如性能、伸縮性或者可用性等原因,數據通常存儲在不同服務器的不同位置上,這些也會帶來新的挑戰。例如,數據一緻性必須是可維護的,並且數據需要進行跨區域同步
續錶
類彆 描述
設計和實現 良好的設計會在組件設計和部署裏包含諸如一緻性和內聚性、簡化管理和部署的可維護性,以及允許組件和子係統被其他應用使用的重用性。設計和實現階段的決策對於雲計算應用和服務的總體質量及成本有重大影響
消息 雲計算應用的分布式特性需要一個連接組件和服務的消息基礎架構,理想情況下是鬆耦閤方式,便於zui大化伸縮性。異步消息被廣泛使用,而且提供瞭許多好處,同時也帶來瞭許多挑戰,比如消息順序、毒消息管理、冪等性等
管理和監控 雲計算應用運行在遠程數據中心中,我們無法完全控製基礎架構或者操作係統。相比私有雲,這種情況使得管理工作更加睏難。隻有應用暴露運行時的信息,管理員和運營人員纔可以管理和監控係統;隻有支持修改業務需求和自定義,纔不需要應用停止和創新部署
性能和伸縮性 性能是係統執行特性操作的響應性指標,而伸縮性是係統處理新增壓力但不會影響性能與可用性的能力。雲計算應用通常會遇到變化的工作負載和峰值,這種情況通過不可預測,特彆是在多租戶場景下。相反,應用應該能夠通過伸縮來滿足峰值的需要,而且當需要下降時迴退。伸縮性不隻是關注計算實例,還關注其他要素,比如數據存儲、消息基礎架構等
彈性 彈性是係統優雅地處理錯誤和恢復係統的能力。雲計算主機的基本特性為:應用通常是多租戶的,使用共享平颱服務,競爭資源和帶寬,通過互聯網通信,運行在商用硬件上。這意味著將會齣現更多短暫和永久的錯誤。探測錯誤,並快速和高效地恢復對於維護彈性來說必不可少
安全 安全是係統阻止設計使用範圍外的惡意和意外操作的能力,是阻止泄露和丟失數據的能力。雲計算應用暴露在互聯網上,跨越信任的私有雲環境邊界,通常對外開放,因此可能會齣現不信任的用戶。應用必須以安全的方式設計和部署,避免惡意攻擊,限製隻有支持的用戶可以訪問,並且保護敏感數據
對於每個類彆,我們都創建瞭關聯的指南和文檔,以幫助開發者解決常見的共同問題。這些包括以下3方麵內容。
? 24種設計模式。這是雲托管應用非常有用的24種設計模式。每個設計模式提供瞭描述上下文及其問題,解決方案及其問題,使用模式的公共格式,以及基於Azure平颱的例子。每種模式也包含連接到其他相關模式的鏈接。
? 10個指南主題。提供瞭開發雲計算應用所需的基本知識、實踐經驗與技巧。每個主題都詳實地介紹瞭這些知識。
? 例子程序。演示瞭設計模式的使用過程。我們可以使用這些代碼參考設計自己特定的需求代碼。
設計模式
設計模式被分配到一個或者多個類彆中。完整的設計模式列錶如下所示。
模式 描述
緩存駐留模式 根據需要從數據存儲器加載數據。此模式可以用來改進性能,還可以用於維護緩存和後颱數據庫之間的數據一緻性
斷路器模式 當連接遠程服務或資源時,可能導緻不定時間恢復係統的錯誤。此模式可以用於改進係統的穩定性和彈性
事務補償模式 如果一個或者多個操作失敗,就會取消執行的一係列工作,它定義瞭一組zui終一緻性模型的操作。遵從zui終一緻性模型的操作在雲托管應用中非常常見,通常都會實現復雜的業務過程和工作流
競爭消費者模式 允許多個並發的消費者在相同的消息通道上處理接收的消息。此模式允許係統並發處理多個消息以優化係統的吞吐量,改進係統的伸縮性和可用性,平衡工作負載
計算資源閤並模式 閤並多個任務或者操作到單個計算單元裏。此模式可以增加計算資源的使用率,降低雲計算應用中計算處理的成本和管理開銷
命令和職責分離(CQRS)模式 通過隔離接口來分離更新和讀操作。此模式可以zui大化性能、伸縮性和安全性,通過高度的靈活性支持係統的進化,在領域級彆阻止引起閤並衝突的更新命令
事件源模式 使用隻能追加的存儲庫來記錄領域裏發生在數據庫方麵的完整操作事件序列,而不是僅僅保存當前狀態,讓存儲庫可以用來創建特定的對象狀態。此模式可以通過避免同步數據模型和業務模型的需求來簡化復雜領域裏的任務,改進性能、伸縮性和響應性,提供事務性數據的一緻性,維護可以支持補償操作的完整審計追蹤和曆史信息
外部配置存儲模式 把配置信息從應用部署包移動到一個中心位置。此模式可以提供更簡單的管理和配置數據控製、跨應用和應用實例共享配置的機會
聯閤身份模式 把驗證委托給一個外部身份標識提供器。此模式可以簡化部署,zui小化用戶管理的需求,並且改進應用的用戶體驗
門衛模式 通過在客戶端和應用與服務之間使用特定的作為代理的宿主實例來保護應用和服務,驗證並保護請求,且在它們之間傳遞請求消息。此模式可以提供額外的安全層,並且降低係統受攻擊的層麵
健康終結點監控模式 在應用中實現功能檢查,可以通過暴露的終結點定時訪問監控數據。此模式可以幫助檢驗應用和服務是否正確執行
索引錶模式 在頻繁訪問的數據存儲庫特定字段上齣aung時就索引。此模式可以通過允許應用更快速地從數據存儲庫查詢數據改進查詢性能
續錶
模式 描述
領導選舉模式 選舉一個實例作為領導來承擔管理其他實例的職責,讓其協調分布式節點的任務執行。此模式可以幫助確保任務不會與其他任務衝突,避免資源爭用,或者被其他執行的任務乾擾
物化視圖模型 當數據格式並非查詢操作期望的格式時,提前為一個或者多個數據存儲器中的數據生成視圖。此模式可以幫助實現高效查詢和數據提取,改進應用程序的性能
管道和過濾器模式 把一個復雜的任務分解為一係列可以單獨執行的可重用的任務元素。此模式可以通過獨立部署和伸縮任務元素來改進性能、伸縮性和可重用性
優先級隊列模式 為發送給服務的請求消息設置優先級,這樣高優先級的請求可以被更快地處理。此模式在給獨立類型的客戶端提供不同服務級彆擔保時非常有用
基於隊列的負載均衡模式 在任務和調用的服務之間使用隊列作為緩衝區來平滑斷斷續續的可能導緻服務失敗或者任務超時的超量負載。此模式可以幫助zui小化峰值壓力對於任務和服務的可用性和響應能力的影響
重試模式 當連接服務或者網絡資源時,通過允許短暫錯誤重試操作來允許應用程序處理臨時的失敗。此模式可以用來改進應用的穩定性
運行時重配置模式 設計應用程序使其可以無需重新部署,或者重新啓動應用來重新配置。這可以用於維護可用性和zui小化宕機時間
調度器代理監控模式 協調跨分布式服務和其他資源的集閤。如果某個操作失敗,則嘗試透明地處理錯誤;或者如果係統無法從錯誤中恢復,則取消執行工作産生的影響。此模式可以通過對短暫異常、長期錯誤和處理錯誤啓用恢復和重試操作增加係統的彈性
分片模式 把數據庫水平分割為不同的區片進行存儲。當存儲和訪問海量數據時,此模式可以改進伸縮性
靜態內容托管模式 部署靜態內容到可以直接發送給客戶端的雲端存儲服務上。此模式可以減少對於昂貴計算實例的需求
限流模式 控製單個應用實例、單個租戶或者整個服務消耗的資源數量。此模式可以允許係統繼續工作,並且滿足服務級彆協議,甚至對資源增加極限負載時也可以正常工作
令牌模式 為瞭在應用程序代碼裏支持卸載數據傳輸操作,使用令牌或者秘鑰來限製對特定資源或服務的訪問。此模式在使用雲托管存儲係統或者隊列時特彆有用,並且可以zui小化成本,zui大化伸縮性和性能
主題
這些主題與特定的應用程序開發相關,如下圖所示。

這個指南包含下麵的主題。
主題 描述
異步消息通信指南 消息通信是許多分布式係統采用的關鍵策略,比如雲計算。它允許應用和服務彼此通信並協同工作,且可以幫助構建可伸縮的和彈性的解決方案。消息通信支持異步操作,允許我們解耦服務調用和宿主進程
自動化伸縮指南 持續監控性能和伸縮係統以適應波動的工作負載、滿足目標需求並且優化運營成本,這個過程可能需要大量的人力成本。這些工作可能無法人工完成。這也是自動化伸縮的用武之地
緩存指南 緩存是一種常見的改進係統性能和伸縮性的技術,它通過把高頻率訪問的數據拷貝到接近應用的數據存儲區中來實現加速。緩存當應用程序重復讀取相同的數據時zui高效,特彆是原始數據存儲區的速度相對緩存較慢的時候,它受製於高級彆的爭用,或者說它不會導緻網絡延遲
計算分區指南 當部署應用程序到雲端時,很可能采用把服務和組件根據使用情況分彆部署的方式,以便在維護伸縮性、性能、可用性和應用安全時zui小化運行成本
數據一緻性指南 雲應用通常使用的數據分散存儲在不同的存儲區裏。管理和維護數據一緻性變得尤為重要,尤其是齣現並發性和可用性問題時。我們通常需要在並發性和一緻性之間取捨。這意味著我們在設計解決方案時會考慮zui終一緻性,而不會追求應用程序所有時刻都處於完全一緻性狀態
數據分區指南 在許多大型伸縮解決方案中,數據被分割到不同的可以單獨管理和訪問的分區中。必須仔細選擇這些分區策略以便zui小化壞處zui大化好處。分區可以幫助我們改進伸縮性,降低爭用,並且優化性能
續錶
主題 描述
復製和同步數據指南 當部署應用到多個數據中心,比如雲和私有雲中時,為瞭zui大化可用性和性能、確保一緻性、zui小化數據傳輸成本,就必須考慮如何在多個節點同步數據
遠程監控指南 絕大多數應用都會包含診斷功能特性,這些特性可以生成自定義監控和調試信息,尤其是當錯誤發生的時候。這通常稱為監控儀錶盤,是通過添加事件和錯誤處理代碼到應用程序中來實現的。收集遠程信息的過程通常稱為遙感監測
多數據中心部署指南 在多個數據中心部署應用有許多好處,比如增加可用性、更好的跨地區用戶體驗。然而,還有一些挑戰要解決,比如數據同步和監管限製
服務調用統計指南 我們可能需要統計應用或者服務的調用信息以便計劃、調整未來的需求策略,瞭解用戶如何使用係統,或者對用戶、組織部門或者客戶計費。這些都是常見的需求,對大公司和獨立軟件供應商及服務商尤其如此
例子應用
10個例子程序演示瞭本書中介紹的一些模式實現過程,大傢可以下載到本地運行,或者部署到Azure訂閱賬號裏測試。要獲取並運行這些程序代碼:
(1) 可以到微軟下載中心http://aka.ms/cloud-design-patterns-sample “Cloud Design Patterns - Sample Code”頁麵下載 “Cloud Design Patterns Examples.zip”壓縮文件。
(2) 在Windows資源瀏覽器裏打開壓縮文件的屬性,選擇解壓。
(3) 把代碼復製到磁盤根目錄,比如C:PatternsGuide。不要在用戶配置文件夾裏解壓(比如Documents 或者 Downloads) ,否則可能導緻文件名過長。
(4) 在瀏覽器裏打開Readme.htm。它包含係統和例子的配置信息,在本地Azure模擬器運行例子或者部署到Azure平颱上,掌握例子展示的知識點。
本指南與例子的對應關係如下錶所示。
主題 描述
競爭消費者 這個例子包含2個組件:Sender worker role負責發送消息到Service Bus隊列,Receiver worker role負責從隊列接收消息並處理消息。Receiver worker role啓動兩個實例來模擬消費者競爭
計算資源閤並 這個例子展示瞭如何統一多個獨立的任務到單個的worker role中。運行這個例子沒有其他需求
續錶
主題 描述
外部配置存儲 這個例子展示瞭在外部存儲區保存配置文件而不是使用本地配置文件。在這個例子中,配置保存到Azure Blob Storage存儲區。Blob包含的配置信息是通過ExternalConfigurationManager類的實例監控的。當ExternalConfigurationManager對象探測到配置已修改時,它就會提醒應用程序
健康終結點監控 這個例子展示瞭如何設置檢查獨立服務健康狀態的Web終結點,它可以返迴不同的狀態碼來錶示狀態。設計終結點的目的是讓看門狗監控服務監控的,比如Azure終結點健康監控服務,但是我們也可以在瀏覽器裏打開和調用終結點,查看狀態結果。我們還可以部署和配置自己的終結點健康工具來發送請求給服務操作並分析接收到的應答消息
領導選舉 這個例子展示瞭工作角色實例如何變成領導。領導可以協調和控製其他實例的任務,這些任務應該通過某個工作角色實例執行。領導選舉通過獲取租賃權來實現
管道和過濾器 這個例子包含兩個可以執行整體處理部分操作的過濾器。這兩個過濾器組閤在一個管道中,一個過濾器的輸齣結果作為另一個過濾器的輸入數據。過濾器作為單獨的工作角色實現,Azure Service Bus總綫隊列提供瞭管道的基礎架構
優先級隊列 這個例子展示瞭如何通過Service Bus主題和訂閱實現優先級隊列。工作角色負責發送消息給主題,分配優先級給每個消息。接受工作角色從對應優先級訂閱者中讀取消息。在這個例子中,PriorityQueue.High工作角色運行兩個實例,PriorityQueue.Low隻運行一個實例。這樣就能確保高優先級消息可以更快速地被讀取
運行時重配置 這個例子展示瞭如何修改雲服務的配置而不需要重新啓動Web和worker role
靜態內容托管 這個例子展示瞭如何從公共存儲服務中快速獲取靜態內容。這個例子包含瞭一個Azure Web Role,它托管瞭包含Javascript文件和圖片的網站,部署到Azure存儲區中。這些內容通常部署到存儲賬號中,作為應用部署的一部分。但是,為瞭簡化例子,啓動程序時這些文件會被部署到存儲賬號中
令牌模式 這個例子展示瞭客戶端程序如何在獲取一個帶有權限的共享訪問前直接嚮大對象存儲區寫入數據。為瞭簡單明瞭,這個例子關注獲取和消費令牌秘鑰的機製,不會展示如何實現驗證或者安全通行
這些例子關注演示每個模式的關鍵功能特性,並不可以直接使用到生産環境。
更多信息
所有的章節都包含對於其他資源的參考,比如圖書、博客文章以及論文。如果需要,大傢可以閱讀更詳細的內容。為瞭方便大傢,這裏有一個網頁包含所有連接的文章,直接點擊http://aka.ms/cdpbibliography,大傢可以閱讀、查詢資源。
反饋和支持
問題?評論?建議?任何關於本書的反饋或者要獲取任何問題的幫助,請訪問http://wag.codeplex.com。這個社區網站的論壇是我們推薦的反饋和支持渠道,因為它允許我們大傢分享想法、問題和整個社區的解決方案。
圖書團隊
創意與項目管理: Masashi Narumoto
作者: Alex Homer、John Sharp、Larry Brader、Masashi Narumoto和Trent Swanson
開發: Julian Dominguez、Trent Swanson (Full Scale 180)、Alejandro Jezierski (Southworks)
測試: Larry Brader、Federico Boerr和Mariano Grande (Digit Factory)
性能測試: Carlos Farre、Naveen Pitipornvivat (Adecco)
文檔: Alex Homer、John Sharp (Content Master Ltd)
圖片藝術傢: Chris Burns (Linda Werner & Associates Inc)、Kieran Phelan (Allovus Design Inc)
編輯: RoAnn Corbisier
生産: Nelly Delgado
技術審閱: Bill Wilder (Author, Cloud Architecture Patterns)、Michael Wood (Cerebrata)
貢獻者: Hatay Tuna、Chris Clayton、Amit Srivastava、Jason Wescott、Clemens Vasters、Abhishek Lal、Vittorio Bertocci、Boris Scholl、Conor Cunningham、Stuart Ozer、Paolo Salvatori、Shirley Wang、Saurabh Pant、Ben Ridgway、Rahul Rai、Jeremiah Talkar、Simon Gurevich、Haishi Bai、Larry Franks、Grigori Melnik、Mani Subramanian、Rohit Sharma、Christopher Bennage、Andrew Oakley、Jane Sinyagina和Julian Dominguez、Fernando Simonazzi (Clarius Consulting)和Valery Mizonov (Full Scale 180)
微軟開發者指南顧問委員會 參與審核成員名單:Carlos dos Santos、CDS Informatica Ltda; Catalin Gheorghiu、I Computer Solutions; Neil Mackenzie、Satory Global; Christopher Maneu、Deezer.com; Paulo Morgado; Bill Wagner、Bill Wagner Software LLC;和Roger Whitehead、ProSource.It
感謝為本書的順利齣版付齣心血的每個參與者!

用户评价

评分

云计算架构设计模式

评分

可以

评分

云计算架构设计模式

评分

评分

京东买书也是个不错选择,品质丰富送货快

评分

云计算架构设计模式

评分

商品不错,值得购买。

评分

云计算架构设计模式

评分

通用不变的模式,值得借鉴学习

相关图书

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有