開源的SaaS解決方案_第1頁
開源的SaaS解決方案_第2頁
開源的SaaS解決方案_第3頁
開源的SaaS解決方案_第4頁
開源的SaaS解決方案_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

SaaS關鍵技術

----開源解決方案Copyright?2009NeusoftCorporation解決方案技術中心開源的SaaS解決方案SaaS關鍵技術

----開源解1Part1:IT部署視圖演化及挑戰(zhàn)Part2:動態(tài)基礎設施Part3:SaaS架構關注技術Part4:Q&A開源的SaaS解決方案Part1:IT部署視圖演化及挑戰(zhàn)開源的SaaS解決方案2IT系統(tǒng)部署視圖演化-1開源的SaaS解決方案IT系統(tǒng)部署視圖演化-1開源的SaaS解決方案3N輪視圖演化后架構開源的SaaS解決方案N輪視圖演化后架構開源的SaaS解決方案4開源的SaaS解決方案開源的SaaS解決方案5演化面對的挑戰(zhàn)開源的SaaS解決方案演化面對的挑戰(zhàn)開源的SaaS解決方案6Part1:IT部署視圖演化及挑戰(zhàn)Part2:動態(tài)基礎設施Part3:SaaS架構關注技術Part4:Q&A開源的SaaS解決方案Part1:IT部署視圖演化及挑戰(zhàn)開源的SaaS解決方案7云計算關鍵特性開源的SaaS解決方案云計算關鍵特性開源的SaaS解決方案8基礎設施供應生命周期開源的SaaS解決方案基礎設施供應生命周期開源的SaaS解決方案9資源池動態(tài)伸縮CloudCloudDDDDDDDDD開源的SaaS解決方案資源池動態(tài)伸縮CloudCloudDDDDDDDDD開源的S10Part1:IT部署視圖演化及挑戰(zhàn)Part2:動態(tài)基礎設施Part3:SaaS關注技術Part4:Q&A開源的SaaS解決方案Part1:IT部署視圖演化及挑戰(zhàn)開源的SaaS解決方案11SaaS關鍵特性高伸縮:多租戶,功能可配置,流程可配置開源的SaaS解決方案SaaS關鍵特性高伸縮:多租戶,功能可配置,流程可配置開源的12SaaS架構關注內容開源的SaaS解決方案SaaS架構關注內容開源的SaaS解決方案13數據存儲的挑戰(zhàn)開源的SaaS解決方案數據存儲的挑戰(zhàn)開源的SaaS解決方案14傳統(tǒng)解決方案VS新興解決方案開源的SaaS解決方案傳統(tǒng)解決方案VS新興解決方案開源的SaaS解決方案15SQL集群技術-MySQL集群方案有點缺點速度適用場合NDB可用于負載均衡場合;

可用于高可靠性場合;

高伸縮性;

真正的數據庫冗余;

容易維護。

隨著數據庫的變大,對RAM的需求變得更大,因此成本很高幾乎比典型的單獨服務器(無千兆以太網,無SCI卡,存儲引擎相關的限制少)慢10倍。冗余,高可靠性,負載均衡MySQL/GFS-GNBD/HA(Active/Passive)高可靠性

某種程度的冗余

按照高可靠性進行伸縮

沒有負載均衡

沒有保證的冗余

無法對寫操作進行伸縮

對讀操作支持得較好需要高可靠性的、讀操作密集型的應用MySQL/DRBD/HA(Active/Passive)高可靠性;

一定程度的冗余;

以高可靠性名義來看是可伸縮的

沒有負載均衡

沒有保證的冗余

在寫負載方面沒有伸縮性

在讀寫方面相當于單獨服務器需要高可靠性、讀操作密集型的應用MySQLWriteMaster/MultipleMySQLReadSlaves(Active/Active)讀操作的高可靠性;

讀操作的負載均衡;

在讀操作負載均衡方面是可伸縮的

無寫操作的高可靠性;

無寫操作的負載均衡;

在寫操作方面無伸縮性

同單獨服務器;在讀操作方面支持得較好讀操作密集型的、需要高可靠性和負載均衡的應用Google

MySQL

MMM技術開源的SaaS解決方案SQL集群技術-MySQL集群方案有點缺點速度適用場合NDB16ShardingvsPartitionShardingPartition存儲依賴可跨越DB可跨越物理機器可跨越表空間,不同的物理屬性不能跨DB存儲存儲方式分布式集中式擴展性ScaleOut(橫向擴展)ScaleUp(升級設備)可用性無單點,需要處理跨數據事務存在單點(DB數據本身)應用場景web2.0多數傳統(tǒng)應用開源的SaaS解決方案ShardingvsPartitionShardingP17數據切分-SQL實現方式優(yōu)點缺點垂直切分實現簡單擴展能力有限

強耦合的應用不容易垂直切分讀寫分離可有效分擔讀的壓力

主要在數據庫層擴展,應用修改小對讀寫均衡的應用擴展能有限

依賴于數據庫本身的同步能力水平切分SaaS普遍使用

擴展性強實施復雜開源的SaaS解決方案數據切分-SQL實現方式優(yōu)點缺點垂直切分實現簡單擴展能力有限18垂直shardinguserphrAppDAL開源的SaaS解決方案垂直shardinguserphrAppDAL開源的SaaS19水平shardingPhr33%Phr33%AppDALPhr34%開源的SaaS解決方案水平shardingPhr33%Phr33%AppDAL20讀寫分離phrphrAppDAL讀/寫讀開源的SaaS解決方案讀寫分離phrphrAppDAL讀/寫讀開源的SaaS解決方21SQL數據訪問區(qū)域(DAL)1.mysqlproxy

實現“讀寫分離(Read/WriteSplitting)”?;镜脑硎亲屩鲾祿焯幚硎聞招圆樵儯鴱臄祿焯幚鞸ELECT查詢。數據庫復制被用來把事務性查詢導致的變更同步到集群中的從數據庫。2.Amoeba

Amoeba項目是分布式數據庫proxy開發(fā)框架。座落與Client、DBServer(s)之間。對客戶

端透明。具有負載均衡、高可用性、sql過濾、讀寫分離、可路由相關的query到目標數據庫、可并發(fā)請

求多臺數據庫合并結果。

主要解決:

*降低數據切分帶來的復雜多數據庫結構

*提供切分規(guī)則并降低數據切分規(guī)則給應用帶來的影響

*降低db與客戶端的連接數

*讀寫分離3.WebsphereII開源的SaaS解決方案SQL數據訪問區(qū)域(DAL)1.mysqlproxy開源22Case1開源的SaaS解決方案Case1開源的SaaS解決方案23Case1數據生成分布規(guī)則:按照20會員每天采集一次監(jiān)控,每次采集10個指標(都為數值型)計算,按照20萬會員2010年全年的數據量,共計生成7.3億條記錄。分布在4個節(jié)點中,每臺設備1.825億條。共計50GB。血壓標簽統(tǒng)計地區(qū)執(zhí)行時間120~15090~12080~90test0np_034539ms15732123140882123TransactionNameMinimumAverageMaximumStd.Deviation90Percentquery0.0010.0343.820.1560.04開源的SaaS解決方案Case1數據生成分布規(guī)則:血壓標簽統(tǒng)計地區(qū)執(zhí)行時間12024Sql數據擴展問題開源的SaaS解決方案Sql數據擴展問題開源的SaaS解決方案25Case2–hadoopHBase&Hive2003年Google三篇論文:GFS,MapReduce,Bigtable

Hbase是一個分布式開源數據庫,基于Hadoop分布式文件系統(tǒng),模仿并提供了基于Google文件系統(tǒng)的Bigtable數據庫的所有功能。其目標是處理非常龐大的表,可以用普通的計算機處理超過10億行數據,并且有數百萬列元素組成的數據表。MapReduce是分布式計算軟件構架,它可以支持大數據量的分布式并行處理。

開源的SaaS解決方案Case2–hadoopHBase&Hive200326Hadoop軟件棧開源的SaaS解決方案Hadoop軟件棧開源的SaaS解決方案27Table&ColumnFamily

RowKey

Timestamp

ColumnFamily

血壓(高壓)血壓(低壓)phr_user1t312080t213090t1

phr_user2t514070t414585

RowKey:行鍵,Table的主鍵,Table中的記錄按照RowKey排序Timestamp:時間戳,每次數據操作對應的時間戳,可以看作是數據的versionnumberColumnFamily:列簇,Table在水平方向有一個或者多個ColumnFamily組成,一個ColumnFamily中可以由任意多個Column組成,即ColumnFamily支持動態(tài)擴展,無需預先定義Column的數量以及類型,所有Column均以二進制格式存儲,用戶需要自行進行類型轉換。開源的SaaS解決方案Table&ColumnFamily

RowKey28Case2–hadoopHBase&Hive開源的SaaS解決方案Case2–hadoopHBase&Hive開源的S29Case2-hadoop&Hive交易名稱交易響應時間(單位:秒)AverageTPSMinimumAverageMaximum90PercentInsert空表0.0010.0121.0760.03595.863Insert(3.06億)0.0010.0120.0590.03995.758交易名稱交易響應時間(單位:秒)AverageTPSMinimumAverageMaximum90PercentQuery0.0140.1454.2380.19627.47交易響應時間(單位:秒)4節(jié)點6節(jié)點8節(jié)點一個月數據140.007140.061147.029一年數據522.351285.998292.867開源的SaaS解決方案Case2-hadoop&Hive交易名稱交易響應30SQL與NoSQL整合方案-hadoop&HiveDBMS從MySQL讀寫部分數據讀NoSQLNoSQL同步1.DBMS保存全部數據,主要完成交易類數據的讀寫2.通過同步技術把DBMS的數據同步到NoSQL數據庫中3.NoSQL負責完成歷史數據的查詢統(tǒng)計分析等工作開源的SaaS解決方案SQL與NoSQL整合方案-hadoop&HiveD31NoSQL數據庫--MongoDB開源的SaaS解決方案NoSQL數據庫--MongoDB開源的SaaS解決方案32MongoDB與MySQL混搭采用MySQL與mongoDB混搭的模式,利用NoSQL數據的列可以動態(tài)擴展的優(yōu)勢來避免在關系數據庫為了擴展所采用行轉列導致的數據爆炸性增長的問題1.面向集合的存儲:適合存儲對象及JSON形式的數據。2.動態(tài)查詢:Mongo支持豐富的查詢表達式。3.完整的索引支持:包括文檔內嵌對象及數組。Mongo的查詢優(yōu)化器會分析查詢表達式4.復制及自動故障轉移。不適用:高度事務性的系統(tǒng)傳統(tǒng)的商業(yè)智能應用開源的SaaS解決方案MongoDB與MySQL混搭采用MySQL與mongoD33SQL數據庫擴展的問題ID

<100ID<200AppDALID<300ID<400開源的SaaS解決方案SQL數據庫擴展的問題ID<100ID<200AppDAL34NoSQL數據庫擴展phrphrAppDALphrphr開源的SaaS解決方案NoSQL數據庫擴展phrphrAppDALphrphr開源35數據緩存工作原理DBMS客戶端App

ServerCacheDBMSCacheCacheCache第一次,從數據庫讀取數據,并寫入緩存第二次,從緩存讀取數據,如果數據不存在,那么,在去數據庫查詢數據目的:避免磁盤IO提高效率,減輕數據庫壓力開源的SaaS解決方案數據緩存工作原理DBMS客戶端AppServerCache36開源緩存對比實現方式優(yōu)點缺點Terracotta采用JVM的heap復制方式不是通過對象序列化的方式傳輸Java實現可以無縫整合到JEE應用本身可以提供集群字節(jié)碼級的監(jiān)控可能會影響效率配置比較復雜memcachedC開發(fā)效率高對CPU資源要求低水平擴展性強非java應用需要通過socket調用不提供集群技術,需要自己實現,比較復雜Ehcache/OSCache可以運行在中間價同一個JVM中,執(zhí)行效力高集群需要作緩存同步水平擴展能力有限需要占用JVM的heap開源的SaaS解決方案開源緩存對比實現方式優(yōu)點缺點Terracotta采用JVM的37云平臺緩存方案客戶端App

ServerMemcacheEHCacheMemcacheMemcacheMemcacheApp

ServerEHCache采用Memcached作為分布式緩存為了保證系統(tǒng)執(zhí)行效率采用ehCache作為二級緩存在ehcache設置緩存時間,過期后到Memcached組成的緩存池獲得數據。該方案也可以采用Terracotta開源的SaaS解決方案云平臺緩存方案客戶端AppServerMemcacheEH38應用服務服務區(qū)域業(yè)務系統(tǒng)的主要業(yè)務邏輯運行在應用服務器中,所以,它承擔了更大的壓力,面臨如下挑戰(zhàn):1.大并發(fā)訪問需要做應用服務器集群2.系統(tǒng)為了更可用性和友好性支持無縫切換開源的SaaS解決方案應用服務服務區(qū)域業(yè)務系統(tǒng)的主要業(yè)務邏輯運行在應用服務器中,所39應用服務器session管理實現方式優(yōu)點缺點典型做法session復制復制負載可以得到極好均衡,也可以保持對fail-over支持sesion復制對網絡壓力比較大。

需要應用服務器支持目前流行的中間件產品都支持stickysession實現簡單,在負載均衡層或是proxy層做配置即可

不會因為session同步給網絡帶來壓力不能實現完全負載均衡、無法實現failoverapache或是其它webserver做propxy基于cache集中式session應用服務器是無狀態(tài),可實現完全負載均衡,不會帶來因為session復制帶來的網絡壓力實施復雜,對于部分功能需要定制開發(fā)使用Terracotta或是memcache等開源的SaaS解決方案應用服務器session管理實現方式優(yōu)點缺點典型做法sess40云下有狀態(tài)應用方案-memached-session客戶端App

ServerMemcacheMemcacheMemcacheMemcacheApp

Servermemcached-session-manager具有如下特性:1.支持tomcat6和tomcat72.能夠保持sticky會話和nonesticky會話3.能夠支持tomcat失敗轉移4.能夠支持Memcached失敗轉移5.實現session序列化6.可以實現session的異步存儲7.Session修改更新Memcached8.JMX管理和監(jiān)控開源的SaaS解決方案云下有狀態(tài)應用方案-memached-session客戶端A41云下有狀態(tài)應用方案-Terracotta客戶端App

ServerTerracoattTerracoattTerracoattTerracoattApp

Server1.Terracotta本身支持集群,避免單點故障(雙機或者多機鏡像)2.Terracotta的基礎是分布式數據共享和線程協(xié)同3.不是通過對象序列化的方式傳輸,支持Field級別的變更同步4.不需要修改程序5.支持目前主流的中間價agentagent開源的SaaS解決方案云下有狀態(tài)應用方案-Terracotta客戶端AppS42Webserver區(qū)域ApachevsNginxvslighttpd反向代理等功能1.作為老牌HttpServer,ApacheHttpd在功能表現上令人滿意,配置相對簡單,功能豐富并且穩(wěn)定,可以任意編譯添加所需功能的模塊。2.Nginx作為新興的HttpServer,在性能表現上令人滿意,功能相對豐富,作為功能相對簡單的應用前臺HttpServer是可以推薦的,而且HttpServer可以做到動態(tài)更改配置文件,不需要長時間中斷服務。3.Lighttpd性能表現很好,但是在功能上有很多不穩(wěn)定之處。開源的SaaS解決方案Webserver區(qū)域ApachevsNginxvs43Webserver靜態(tài)資源分離靜態(tài)資源(圖片,js腳本,css等)使用單獨的服務器處理請求瀏覽器靜態(tài)資源靜態(tài)資源動態(tài)請求動態(tài)請求動態(tài)請示動態(tài)請示開源的SaaS解決方案Webserver靜態(tài)資源分離靜態(tài)資源(圖片,js腳本,c44分布式文件作用

SaaS業(yè)務系統(tǒng)面臨著海量小圖片數據的存儲問題,這些圖片數據大小在幾K~幾十K不等但數目非常龐大,處理這些海量數據小文件傳統(tǒng)文件系統(tǒng)已經不能滿足要求,系統(tǒng)在scaling的過程中都遇到了這樣的問題:磁盤IO過高;備份困難;單點問題,容量和讀寫無法水平擴展,還存在故障的可能。使用分布式存儲技術來解決圖片數據管理和容量擴展等方面的問題客戶端App

ServerNAS存儲/磁盤陣列App

Server開源的SaaS解決方案分布式文件作用SaaS業(yè)務系統(tǒng)面臨著海量小圖片數據45分布式文件系統(tǒng)工作原理存儲節(jié)點,即StorageCluster,完成文件管理的所有功能。包括存儲、同步和提供存取接口;同時通過對metadata的管理實現了IO的并行和高效訪問。具有云存儲虛擬、自治、高效特點的實驗項目,支持多盤組、異構整合。Tracker,即跟蹤器主要負責IO調度,通過負載均衡方式實現可靠、快速的資源存取。

Client可以是以Service的方式對云存儲提供IO服務。MogileDFS

VS

FastDFS

開源的SaaS解決方案分布式文件系統(tǒng)工作原理存儲節(jié)點,即StorageClust46Case3GIS系統(tǒng)地圖柵格數據測試開源的SaaS解決方案Case3GIS系統(tǒng)地圖柵格數據測試開源的SaaS解決方案47消息隊列程序解耦消息可靠性到達異步通信提供效率開源的SaaS解決方案消息隊列程序解耦開源的SaaS解決方案48企業(yè)級消息隊列1.消息嚴格的排序;2.支持事務3.信息通過持久化的方式保證安全可靠代表產品:1.Apache

ActiveMQ2.JbossMQ3.IBM

MQ4.Weblogic

JMS適合場景:企業(yè)級應用中消息可靠傳輸開源的SaaS解決方案企業(yè)級消息隊列1.消息嚴格的排序;開源的SaaS解決方案49互聯網消息隊列1.消息不需要嚴格的排序;2.不支持事務大多數情況可接受3.讀寫數據非???.橫向擴展性好代表產品:Kestrel適合場景:1.互聯網應用中消息動態(tài)開源的SaaS解決方案互聯網消息隊列1.消息不需要嚴格的排序;開源的SaaS解決方50Case4Kestrel性能表現線程并發(fā)數存入10000條消息總時間(單位:秒)平均TPS第一次第二次第三次平均13.1446286813.3789056913.2551921773.2595755163067.88102.3287159322.2632132852.2974953192.2964748454354.5502.6794187122.6436958022.5845161462.6358768873793.8開源的SaaS解決方案Case4Kestrel性能表現線程并發(fā)數存入10000條51負載均衡區(qū)域http重定向DNS負載均衡反向代理負載均衡IP負載均衡對應產品包括:nginxapachehttpdLVS(網絡第四層工作)F5(硬件,四層/七層)redware(硬件,四層/七層)開源的SaaS解決方案負載均衡區(qū)域http重定向開源的SaaS解決方案5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論