版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、大規(guī)模網(wǎng)站架構(gòu)邱百超badqiu(a)PHPfacebook,yahoo Javataobao,163 Pythongoogle.NETMySpace語言不是可伸縮性的關(guān)鍵,架構(gòu)才是關(guān)鍵網(wǎng)站架構(gòu)的目標(biāo)高可用性(High Availability)可伸縮性(Scalability)高性能(High Performance)傳統(tǒng)的事務(wù)(ACID)原子性(Atomicity)一致性(Consistency)隔離性(Isolation)持久性(Durability)CAP原則Consistency 一致性 Availability 可用性Partition Tolerance分區(qū)耐受性在任意時刻,只有
2、兩項能同時成立不要浪費精力可能突破上面限制可用性一致性 分區(qū)耐受性數(shù)據(jù)庫讀寫分離MySQL Proxy(數(shù)據(jù)庫讀寫分離)load balancingfailoverquery analysisR/W Splitting數(shù)據(jù)庫Shard水平分區(qū)垂直分區(qū)Sharding vs Partition垂直分區(qū)userblogAppDAL水平分區(qū)DAL(數(shù)據(jù)訪問層)對應(yīng)用透明的使用數(shù)據(jù)庫的水平分區(qū)及垂直分區(qū)DAL API(實現(xiàn)2)應(yīng)用DALuseruser兩種實現(xiàn)方式獨立的DAL Proxy服務(wù)器MySQL: AmoebaPostgreSQL: PL/Proxy (Skype)DAL APIJava: H
3、ibernate Shard,Ibatis Shard,HiveDBPython: Pyshardsshard改變數(shù)據(jù)庫設(shè)計盡量避免join數(shù)據(jù)冗余/反范式數(shù)據(jù)冗余 for shardshard beforecomment(id,blog_id,content)shard aftercomment(id,blog_id,content,user_id)數(shù)據(jù)分區(qū)策略水平分區(qū)2 * N(如定單,購買者與網(wǎng)店各一份)N / n (按日期或ID范圍分區(qū))hash(N) % n( 按hash分)查找表垂直分區(qū)按功能分(論壇,博客)消息隊列(MessageQueue)程序解耦隔離消息的可靠傳輸(物理存儲中
4、轉(zhuǎn)消息)ACBMQMQ應(yīng)用場景耗時操作郵件發(fā)送/短消息發(fā)送日志程序解耦(A掛了,但B繼續(xù)可以使用)MQ產(chǎn)品開源RabbitMQ(Erlang)ActiveMQ(JAVA)商業(yè)IBM MQWebLogic MQ負(fù)載均衡DNS負(fù)載均衡反向代理負(fù)載均衡直接路由.failoverDNS負(fù)載均衡簡單缺少靈活性(DNS緩存)D:pythonDjango-1.1.1nslookup Server: Address: 0Non-authoritative answer:Name: Addresses: 4, 12, 0, 1Aliases: 反向代理負(fù)載均衡負(fù)載均衡軟件nginxHAProxyapache h
5、ttpdLVS(網(wǎng)絡(luò)第四層工作)F5(硬件,四層/七層)Linux Virtual Server(LVS)網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT):VS-NATIP隧道方式:VS-TUN直接路由方式:VS-DR其它工作模式Virtual Server via NAT(VS-NAT)用地址翻譯實現(xiàn)虛擬服務(wù)器。地址轉(zhuǎn)換器有能被外界訪問到的合法IP地址,它修改來自專有網(wǎng)絡(luò)的流出包的地址。外界看起來包是來自地址轉(zhuǎn)換器本身,當(dāng)外界包送到轉(zhuǎn)換器時,它能判斷出應(yīng)該將包送到內(nèi)部網(wǎng)的哪個節(jié)點。優(yōu)點是節(jié)省IP 地址,能對內(nèi)部進行偽裝;缺點是效率低,因為返回給請求方的流量經(jīng)過轉(zhuǎn)換器。Virtual Server via IP Tun
6、neling (VS-TUN)用IP隧道技術(shù)實現(xiàn)虛擬服務(wù)器。這種方式是在集群的節(jié)點不在同一個網(wǎng)段時可用的轉(zhuǎn)發(fā)機制,是將IP包封裝在其他網(wǎng)絡(luò)流量中的方法。為了安全的考慮,應(yīng)該使用隧道技術(shù)中的VPN,也可使用租用專線。 集群所能提供的服務(wù)是基于TCP/IP的Web服務(wù)、Mail服務(wù)、News服務(wù)、DNS服務(wù)、Proxy服務(wù)器等等Virtual Server via Direct Routing(VS-DR)用直接路由技術(shù)實現(xiàn)虛擬服務(wù)器。當(dāng)參與集群的計算機和作為控制管理的計算機在同一個網(wǎng)段時可以用此法,控制管理的計算機接收到請求包時直接送到參與集群的節(jié)點。優(yōu)點是返回給客戶的流量不經(jīng)過控制主機,速度快
7、開銷少。高可用性使用雙機熱備故障時切換至備份機工具(Linux-HA)heartbeat緩存讓數(shù)據(jù)更靠近用戶本地緩存節(jié)點有狀態(tài),狀態(tài)更新需要同步至其它服務(wù)器可以使用組播方式通知數(shù)據(jù)改變需要通知的服務(wù)器過多會存在性能問題比遠程緩存更高性能慎用,不具備可伸縮性Share Nothing Architecture無共享架構(gòu)數(shù)據(jù)緩存(memchched)動態(tài)內(nèi)容緩存瀏覽器緩存數(shù)據(jù)緩存分布式memchched基本滿足大部分性能要求動態(tài)內(nèi)容緩存頁面片段緩存靜態(tài)化內(nèi)容反向代理緩存squid 巨無霸Varnish反向代理緩存Varnish 緩存tomcatNginx負(fù)載均衡靜態(tài)資源分離img,js,css使用
8、單獨的服務(wù)器處理請求apache httpdtomcat瀏覽器靜態(tài)資源靜態(tài)資源動態(tài)請求動態(tài)請求動態(tài)請示動態(tài)請示現(xiàn)實網(wǎng)站圖片存儲分析http:/img3.http:/b9.http:/http:/t3.圖片服務(wù)器的域名不同多臺機器保存相同的圖片(img3,img2子域名)同一頁面不同圖片隨機生成不同的子域名進行負(fù)載均衡CDN ?Content Delivery Network瀏覽器優(yōu)化節(jié)省帶寬:js,css的靜態(tài)gzip壓縮http header: Content-Encoding: gzip瀏覽器緩存http header: Etag,Last-Modified小圖片,css,js合并js混淆
9、工具JSA(推薦)/js壓縮多個js合并為一個可以與ant集成Sessioncookie(強烈推薦)集中式session memcached(推薦)session復(fù)制(過多服務(wù)器復(fù)制存在性能問題)分布式文件系統(tǒng)MogileFSAutomatic file replicationNo single point of failure自動化總結(jié)CAP原則BASE策略異步(MessageQueue)數(shù)據(jù)庫數(shù)據(jù)的水平切分及垂直切分?jǐn)?shù)據(jù)庫讀寫分離避免分布式事務(wù)反范式的數(shù)據(jù)庫設(shè)計負(fù)載均衡DNS負(fù)載均衡反向代理負(fù)載均衡LVS緩存數(shù)據(jù)庫緩存服務(wù)器緩存/頁面緩存/數(shù)據(jù)緩存/靜態(tài)化反向代理緩存Session/Sha
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學(xué)學(xué)生社團活動經(jīng)費保障制度
- 人力資源配置與調(diào)整制度
- 企業(yè)風(fēng)險管理與防范制度
- 2026年環(huán)境科學(xué)與工程專業(yè)核心考點題集
- 2026年酒店業(yè)成本控制與效益分析考核題
- 2026年環(huán)境科學(xué)基礎(chǔ)知識考試題目
- 2025年氫燃料電池汽車示范運行數(shù)據(jù)采集協(xié)議
- 2025年四川旅游學(xué)院馬克思主義基本原理概論期末考試模擬題帶答案解析(奪冠)
- 山西省晉中市澤州2025-2026年九年級上期末道德與法治試卷(含答案)
- 2025年五寨縣招教考試備考題庫帶答案解析
- 冷庫安全生產(chǎn)責(zé)任制制度
- 2025年航運行業(yè)安全生產(chǎn)費用提取和使用計劃
- 納米纖維凝膠隔熱材料的應(yīng)用研究進展
- 總公司和分公司的合作協(xié)議
- 保險業(yè)務(wù)代理與分銷合作協(xié)議
- 2025年社區(qū)養(yǎng)老服務(wù)補貼政策及申領(lǐng)方法
- 法學(xué)本科畢業(yè)論文完整范文-大數(shù)據(jù)時代下電信網(wǎng)絡(luò)詐騙犯罪治理研究
- 初中物理八年級下冊第十一章《功和機械能》測試題(有答案解析)
- 廣東省佛山市2023-2024學(xué)年高一上學(xué)期期末考試物理試題(含答案)
- DL∕T 5157-2012 電力系統(tǒng)調(diào)度通信交換網(wǎng)設(shè)計技術(shù)規(guī)程
- 【人效】人效儀表盤
評論
0/150
提交評論