精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

解析大型Java項目架構演進

開發 架構
以淘寶網為例,簡單了解一下大型電商的服務端架構是怎樣的。

前言

以淘寶網為例,簡單了解一下大型電商的服務端架構是怎樣的。如圖所示:

最上面的就是安全體系系統,中間的就是業務運營系統,包含各個不同的業務服務,下面是一些共享服務,然后還有一些中間件,其中 ECS 就是云服務器,MQS 是隊列服務,OCS 是緩存等等,右側是一些支撐體系服務。

除圖中所示之外還包含一些我們看不到的,比如高可用的體現。淘寶目前已經實現多機房容災和異地機房單元化部署,為淘寶的業務也提供了穩定、高效和易于維護的基礎架構支撐。

這是一個含金量非常高的架構,也是一個非常復雜而龐大的架構,當然這個架構不是一天兩天演進成這樣的,也不是一開始就設計并開發成這樣的,對于初創公司而言,很難在初期就預估到未來流量千倍、萬倍的網站架構會是怎樣的狀況,同時如果初期就設計成千萬級并發的流量架構,也很難去支撐這個成本。

因此一個大型服務系統,都是從小一步一步走過來的,在每個階段找到對應該階段網站架構所面臨的問題,然后不斷解決這些問題,在這個過程中,整個架構會一直演進,同時內含的代碼也就會演進,大到架構、小到代碼都是在不斷演進和優化的。所以說高大上的項目技術架構和開發設計實現不是一蹴而就的,這是所謂的萬丈高樓平地起。

單機架構

從一個小網站說起,一般來說初始一臺服務器就夠了,文件服務器、數據庫以及應用都部署在一臺機器上。也就是俗稱的 allinone 架構。

多機部署

隨著網站用戶逐漸增多,訪問量越來越大,硬盤、cpu、內存等開始吃緊,一臺服務器難以支撐。看一下演進過程,我們將數據服務和應用服務進行分離,給應用服務器配置更好的 cpu、內存等等,而給數據服務器配置更好、更快的大的硬盤,如圖所示用了三臺服務器進行部署,能提高一定的性能和可用性。

分布式緩存

隨著訪問的并發越來越高,為了降低接口的訪問時間提高服務性能,繼續對架構進行演進。

我們發現有很多業務數據不需要每次都從數據庫中獲取,于是我們使用了緩存,因為 80% 的業務訪問都集中在 20% 的數據上 (二八原則),如果能將這部分數據緩存下來,性能就能提高很多,緩存又分兩種,一種是 Application 中的本地緩存,還有遠程緩存,遠程緩存又分為遠程的單機式緩存和分布式緩存 (圖所示的是分布式緩存集群)。

我們需要思考幾點,具有哪種業務特點的數據使用緩存,具有哪種業務特點的數據使用本地緩存,具有哪種業務特點的數據使用遠程緩存。分布式緩存在擴容時會遇上什么問題,如何解決,分布式緩存的算法都有哪幾種,都有什么優缺點。這些問題都是我們在使用這個架構時需要思考并解決的問題。

服務器集群

這個時候隨著訪問的 qps 不斷提高,假設我們使用的 Application Server 是 tomcat,那么 tomcat 服務器的處理能力就會成為一個瓶頸,雖然我們也可以通過購買更強大的硬件但總會有上限,并且這個成本到后期是呈指數級的增長。

這時候就可以對服務器做一個集群 (cluster) ,然后添加負載均衡調度器  (LoadBalancer) ,服務器集群后我們就可以橫向擴展我們的服務器了,解決了服務器處理能力的瓶頸。

此時我們又需要思考幾個問題, 負載均衡的調度策略都有哪些,各有什么優缺點,各適合什么場景,比如輪詢、權重、地址散列,地址散列又分為原 IP 地址散列、目標 IP 地址散列、最小連接、加權最小連接等等。

服務器集群后,假設我們登陸了 A 服務器,session 信息存放在 A 服務器上了,如果我們的負載均衡策略是輪詢或者最小連接等,下次是有可能訪問到 B 服務器,這時候存儲在 A 服務器上的 session 信息我們在 B 服務器是讀取不到的,所以我們需要解決 session 管理的問題。

Session 共享解決方案

session sticky

我們使用 session sticky 這種方式來解決這個問題,它的處理規則是對于同一個連接中的數據包,負載均衡會將其進行 NAT 轉換后,轉發至后端固定的服務器進行處理,這種方案解決了 session 共享的問題。

如圖所示客戶端 1 通過負載均衡會固定轉發到服務器 1 中。缺點是第一假設有一臺服務器重啟了,那么該服務器的 session 將全部消失,第二是我們的負載均衡服務器成了一種有狀態的服務器,要實現容災會有麻煩。

session 復制

session 復制,即當 browser1 經過負載均衡服務器把 session 存到 application1 中,會同時把 session 復制到 application2 中,所以多臺服務器都保存著相同的 session 信息。

缺點是應用服務器的帶寬問題,服務器之間要不斷同步 session 信息,當大量用戶在線時,服務器占用內存會過多,不適合大規則集群,適合機器不多情況。

基于 cookie

基于 cookie,也就是說我們每次都用攜帶 session 信息的 cookie 去訪問應用服務器。缺點是 cookie 的長度是有限制的,cookie 保存在瀏覽器上安全性也是一個問題。

session 服務器

把 session 做成了一個 session 服務器,比如可以使用 redis 實現。這樣每個用戶訪問到應用服務器,其 session 信息最終都存到 session server 中,應用服務器也是從 session server 中去獲取 session。

要考慮以下幾個問題,在當前架構中 session server 是一個單點的,如何解決單點,保證它的可用性,當然也可以將 session server 做成一個集群,這種方式適用于 session 數量及 web 服務器數量大的情況,同時改成這種架構后,在寫應用時,也要調整存儲 session 的業務邏輯。

數據庫讀寫分離

在解決了服務器橫向擴展之后,繼續看數據庫,數據庫的讀與寫操作都需要經過數據庫,當用戶量達到一定量時,數據庫性能又成為了一個瓶頸,我們繼續演進。

我們可以使用數據庫的讀寫分離,同時應用要接入多數據源。通過統一的數據訪問模型進行訪問。數據庫的讀寫分離是將所有的寫操作引入到主庫中 (master) ,將讀操作引入到從庫中  (slave) ,此時應用程序也要做出相應的變化,我們實現了一個數據訪問模塊  (data accessmodule) ,使上層寫代碼的人不知道讀寫分離的存在,這樣多數據源的讀寫對業務代碼就沒有侵入,這就是代碼層面的演變。

如何支持多數據源,如何封裝對業務沒有侵入,如何使用目前業務使用的 ORM 框架完成主從的讀寫分離,是否需要更換 ORM,各有什么優缺點,如何取舍都是當前這個架構需要考慮的問題。

當訪問量過大時候,也就是說數據庫的 IO 非常大,我們的數據庫讀寫分離又會遇到以下問題?

例如主庫和從庫復制有沒有延遲,如果我們將主庫和從庫分機房部署的話,跨機房傳輸同步數據更是一個問題。另外應用對數據源的路由問題,這些也是需要思考和解決的點。

CDN 加速與反向代理

我們繼續增加了 CDN 和反向代理服務器  (Reverseproxy server) ,使用  CDN 可以很好的解決不同地區訪問速度問題,反向代理則在服務器機房中可以緩存用戶的資源。

分布式文件服務器

這個時候我們的文件服務器又出現了瓶頸,我們將文件服務器改成了分布式文件服務器集群,在使用分布式文件系統時,需要考慮幾個問題,如何不影響部署在線上的應用訪問,是否需要業務部門幫忙清洗數據,是否需要備份服務器,是否需要重新做域名解析等等。

數據庫分庫分表

這個時候我們的數據庫又出現了瓶頸,我們選擇專庫專用的形式,進行數據的垂直拆分,相關的業務獨用自己的一個庫,我們解決了寫數據并發量大的問題。

當我們把這些表分成不同的庫,又會帶來一些新的問題。例如跨業務和跨庫的事務,可以使用分布式事務,或者去掉事務,或者不追求強事務。

隨著訪問量過大,數據量過大,某個業務的數據庫數據量和更新量已經達到了單個數據庫的瓶頸了,這個時候就需要進行數據庫的水平拆分,例如把 user 拆分成了 user1 和 user2,就是將同一個表的數據拆分到兩個數據庫當中,這個時候我們解決了單數據庫的瓶頸。

水平拆分時候又要注意哪些點,都有哪幾種水平拆分的方式。進行了水平拆分后,又會遇到幾個問題,第一 sql 路由的問題,假設有一個用戶,我們如何知道這個用戶信息是存在了 user1 還是 user2 數據庫中,由于分庫了,我們的主鍵策略也會有所不同,同時會面臨分頁的問題,假設我們要查詢某月份已經下單的用戶明細,而這些用戶又分布在 user1 和 user2 庫中,我們后臺運營管理系統對它進行展示的時候還要進行分頁。這些都是我們在使用這個架構時需要解決的問題。

搜索引擎與 NoSQL

在網站發布并進行了大規模的推廣后,導致我們應用服務器的搜索量又飆升,我們把應用服務器的搜索功能單獨抽取出來做了一個搜索引擎,同時部分場景可以使用 NoSQL 來提高性能。同時我們開發一個數據統一的訪問模塊,同時連著數據庫集群、搜索引擎和  NoSQL ,解決上層應用開發的數據源問題。

后序

這里只是簡單舉例,并沒有依據什么實際的業務場景。事實上各個服務的架構是要根據實際的業務特點進行優化和演進的,所以這個過程也不是完全相同的。當然這個架構也不是最終形態,還存在很多要提升的地方。

例如負載均衡服務器目前是一個單點的,如果負載均衡服務器訪問不了,那么后續的包括服務器集群等也就無法訪問了。所以可以將負載均衡服務器做成集群,然后做一些主從的雙機熱備,同時做一個自動切換的解決方案。

在整個架構的演進過程中,其實還包含更多需要關注的內容,比如安全性、數據分析、監控、反作弊......

針對一些特定的場景例如交易、充值、流計算等使用消息隊列、任務調度......

整個架構繼續發展下去,做成 SOA 架構、服務化 (微服務)、多機房......

最后,我想說高大上的項目技術架構和開發設計實現絕不是一僦而就的。

 

責任編輯:張燕妮 來源: 俠夢的開發筆記
相關推薦

2021-03-08 09:52:55

架構運維技術

2018-01-09 22:18:18

架構阿里巴巴服務器

2024-03-06 11:22:33

架構演進技巧

2018-04-13 08:44:40

存儲大型網站

2015-10-22 10:35:06

2015-12-08 09:13:05

開發維護Java項目

2018-05-31 09:27:38

服務器架構原理

2023-09-28 21:46:10

2023-11-14 20:51:08

2025-10-28 02:11:00

2016-11-07 21:00:04

網站service架構設計

2013-10-15 13:24:00

負載均衡架構

2015-12-09 15:16:03

架構師京東架構

2010-11-15 17:23:09

網絡架構

2010-11-18 11:44:27

廣域網優化網絡拓撲H3C

2024-06-05 12:03:43

微服務架構場景

2023-11-27 07:40:55

2015-08-26 10:36:32

ios開發漫談

2015-08-31 10:11:43

iOS大項目開發

2021-05-12 08:54:56

FastAP web 框架數據庫操作
點贊
收藏

51CTO技術棧公眾號

中文字幕久久av| 欧美一区二区三区四区在线观看地址 | 成人网站免费观看| 夜鲁夜鲁夜鲁视频在线播放| 久久综合国产精品| 国产在线视频不卡| 久久精品第一页| 小说区图片区色综合区| 欧美日韩一区二区三区四区| 成人av在线播放观看| 日韩三级电影网| 蜜桃免费网站一区二区三区| 免费不卡欧美自拍视频| 99久久国产精| 国产精品久久久久久av公交车| 亚洲不卡在线观看| 亚欧精品在线| 黑人精品一区二区| 另类小说一区二区三区| 国产做受69高潮| 三上悠亚在线观看视频| 伦理一区二区| 欧美一区二区三级| 男人亚洲天堂网| 在线黄色网页| 国产精品亲子伦对白| 国产一区自拍视频| 国产人妻精品一区二区三区| 蜜桃av一区| 欧美激情中文字幕在线| 性爱在线免费视频| 日韩av不卡一区| 日韩欧美激情一区| 午夜精品中文字幕| 日韩大片欧美大片| 精品免费在线视频| 免费的一级黄色片| 激情影院在线观看| 国产精品丝袜91| 精品视频导航| 人人妻人人澡人人爽精品日本| 看国产成人h片视频| 国产91亚洲精品| av资源免费观看| 欧美精品观看| 久久人人爽人人爽爽久久| 国产精品天天干| 国产91久久精品一区二区| 亚洲国产精品免费| 久久免费精品国产| theporn国产在线精品| 欧美精品久久久久久久久老牛影院| 可以免费在线看黄的网站| 麻豆网站免费在线观看| 亚洲成av人影院在线观看网| 久久男人资源站| 污视频在线免费观看网站| 最新久久zyz资源站| 亚洲一二三区在线| 婷婷视频在线| 中文字幕视频一区| 最新国产精品久久| 男人资源在线播放| 亚洲日本一区二区三区| 干日本少妇视频| av网站大全在线| 一级精品视频在线观看宜春院| 经典三级在线视频| 日韩精品分区| 亚洲国产成人高清精品| 日本欧美黄色片| 在线天堂资源www在线污| 欧美特黄级在线| 亚洲黄色a v| 日本精品久久| 欧美tk—视频vk| 波多野结衣先锋影音| 亚洲va久久| 在线观看亚洲区| 欧美特级一级片| 黄色日韩在线| 日产精品99久久久久久| 亚洲天堂aaa| 国产精品18久久久久| 国产在线一区二| 欧美挠脚心网站| 中文字幕一区在线| 韩国无码av片在线观看网站| 人成在线免费网站| 在线观看日韩精品| 超碰在线免费av| 免费福利视频一区| 中文字幕在线视频日韩| 妺妺窝人体色www在线下载| 在线综合视频| 国产一区二区在线免费| 成人av无码一区二区三区| 91丨九色丨国产丨porny| 五月天丁香综合久久国产 | 妺妺窝人体色www在线观看| 亚洲综合资源| 日韩精品中文字幕久久臀| 波多野结衣家庭教师在线观看| 亚洲老妇激情| 日本欧美中文字幕| www.天天干.com| 久久精品亚洲精品国产欧美| 在线观看成人免费| 久久久一本精品| 日韩欧美中文字幕公布| 欧美 日韩 国产 成人 在线观看| 欧美日韩伊人| 国产精品影片在线观看| 视频二区在线观看| 亚洲欧洲综合另类在线 | 久久国产精品72免费观看| 丁香五月网久久综合| yw视频在线观看| 偷窥少妇高潮呻吟av久久免费| 色天使在线观看| 免费成人高清在线视频theav| 欧美精品一区三区| 中文字字幕在线中文乱码| av午夜一区麻豆| 91视频成人免费| 亚洲精品555| 日韩精品在线免费播放| 外国一级黄色片| 美腿丝袜亚洲三区| 欧美在线一区二区三区四区| 国产福利在线免费观看| 欧美一区二区三区免费在线看 | 综合天堂av久久久久久久| 日本久久久久亚洲中字幕| 色哟哟国产精品色哟哟| 亚洲人成7777| 两性午夜免费视频| 五月天久久网站| 国产精品一区二区三区久久久| 精品99又大又爽又硬少妇毛片| 午夜影院久久久| aaa黄色大片| 欧美女激情福利| 超碰97人人人人人蜜桃| a视频在线播放| 欧美一区二区免费| 美女福利视频在线观看| 国产在线观看一区二区| 中国一级黄色录像| 久久69av| 久久97久久97精品免视看| 精品国产亚洲AV| 亚洲美女一区二区三区| 欧美人与性动交α欧美精品| 亚洲欧美一级二级三级| 懂色一区二区三区av片| 久久香蕉av| 亚洲激情小视频| 日本系列第一页| 裸体在线国模精品偷拍| 亚洲欧洲一区二区福利| 亚洲网站免费| 久久九九有精品国产23| 97超碰中文字幕| 国产精品毛片无遮挡高清| 爱情岛论坛成人| 成人在线电影在线观看视频| 国产999精品久久久| 国产私人尤物无码不卡| 欧美日韩成人综合在线一区二区| 9.1片黄在线观看| 日产国产高清一区二区三区| 日韩国产高清一区| 福利一区二区免费视频| 欧美超级免费视 在线| 国产视频一二三四区| 亚洲精品国久久99热| 麻豆传媒在线看| 久久精品欧美一区| 99久久综合狠狠综合久久止| 激情网站在线| 亚洲国产精品yw在线观看 | 国产一精品一aⅴ一免费| 伊人久久婷婷| 久久国产日韩欧美| 女生影院久久| 麻豆一区二区在线观看| 亚洲精选一区二区三区| 精品人伦一区二区三区蜜桃免费 | 国产精品乱人伦| 色综合五月婷婷| 最新亚洲一区| 婷婷久久五月天| 九九热hot精品视频在线播放| 91高清免费视频| xxxxx日韩| 日韩视频免费观看高清在线视频| 久久亚洲AV无码| 国产日韩av一区| 中文字幕一区二区在线观看视频| 精品动漫一区| 色一情一乱一伦一区二区三区丨 | 国产在线视频二区| 久久美女高清视频| www.成人黄色| 国产日本精品| 偷拍盗摄高潮叫床对白清晰| 国产日韩三级| 国产精品99一区| 午夜av在线免费观看| 亚洲欧美制服第一页| 国产露脸无套对白在线播放| 亚洲美女偷拍久久| 亚洲一级理论片| 99久久久精品| 精品综合久久久久| 一区二区福利| 成人在线播放网址| 欧美肥老太太性生活| 国产一区免费| 天堂久久av| 成人免费看黄网站| 欧美xxxxxx| 欧美黑人巨大xxx极品| 岛国在线大片| 精品五月天久久| 精品国产免费无码久久久| 91黄视频在线| 久久9999久久免费精品国产| 久久亚洲欧美国产精品乐播| 欧产日产国产精品98| 精品亚洲成av人在线观看| 国产aaa一级片| 欧美日韩国产在线一区| 最新中文字幕久久| 国产综合久久久| 国产欧美日韩综合一区在线观看| 欧美大陆国产| 欧美一级片久久久久久久| 美女扒开腿让男人桶爽久久软| 久久电影一区二区| 日本在线人成| 中文字幕精品一区二区精品| 高清福利在线观看| 亚洲欧美在线播放| 天天干在线观看| 欧美精品一区视频| 天天干天天爽天天操| 亚洲国产女人aaa毛片在线| www.国产.com| 欧美大胆人体bbbb| 四虎在线视频免费观看| 精品国内二区三区| 亚洲成a人片77777精品| 91精品国产一区二区人妖| av网站免费大全| 欧美一区二区三区在线视频| 亚洲一区二区色| 欧美乱熟臀69xxxxxx| 国产日韩在线观看一区| 91精品国产91久久久久久最新毛片 | 欧美激情一区二区视频| 亚洲人成亚洲人成在线观看图片| 少妇高潮在线观看| 亚洲最新视频在线播放| 欧美日韩偷拍视频| 亚洲激情网站免费观看| 欧美日韩午夜视频| 亚洲mv在线观看| 日韩乱码人妻无码中文字幕| 天天射综合影视| 国产精品777777| 欧美日韩激情一区二区三区| 岳乳丰满一区二区三区| 欧美日韩国产小视频| 国产男人搡女人免费视频| 91精品国产入口在线| 亚洲大尺度网站| 日韩av中文字幕在线| 五月婷在线视频| 精品国内自产拍在线观看| bestiality新另类大全| 国内伊人久久久久久网站视频| 好看的中文字幕在线播放| 97激碰免费视频| 成人软件在线观看| 国产欧美欧洲在线观看| 高潮久久久久久久久久久久久久| 精品午夜一区二区| 欧美日韩伦理在线免费| 香蕉视频免费版| 亚洲影院在线| 亚洲欧美日韩三级| 懂色av一区二区三区免费观看| 麻豆免费在线观看视频| 国产亚洲欧美在线| 亚洲欧美精品aaaaaa片| 亚洲国产综合在线| 久久精品国产亚洲av高清色欲| 在线观看91精品国产入口| 国产精品爽爽久久| 亚洲第一视频网| 国产毛片在线| 久久夜色撩人精品| 亚洲伊人av| 91久久久久久久| 国产一区日韩| 日韩视频 中文字幕| 香蕉久久久久久久av网站| 日韩中文字幕组| 成人不卡免费av| 国产一二三四区在线| 一区二区三区四区不卡在线| 国产成人在线免费视频| 91麻豆精品国产| 四虎电影院在线观看| 久久精品视频一| 澳门av一区二区三区| 99久久无色码| 99久久激情| 欧美变态另类刺激| 国产尤物一区二区| 色婷婷在线影院| 一级女性全黄久久生活片免费| 91丨porny丨在线中文 | 国产一区二区三区| 久久久一本精品99久久精品| 久久久久免费av| 国产高潮免费视频| 91在线高清观看| 精品99久久久久成人网站免费| 欧美三级韩国三级日本三斤| 蝌蚪视频在线播放| 亚洲3p在线观看| 欧美午夜网站| 国产一区一区三区| 日本成人中文字幕| 国产熟妇搡bbbb搡bbbb| 中文字幕一区二区三区在线不卡| 国产三级理论片| 亚洲欧美国产精品| 美女在线视频免费| 精品视频第一区| 亚洲激情av| 中文字幕乱妇无码av在线| 亚洲乱码国产乱码精品精的特点| 亚洲精品国产精品国自产网站按摩| 日韩成人av网址| 超免费在线视频| 国产欧美一区二区在线播放| 欧美日韩免费观看一区=区三区| 加勒比av中文字幕| 亚洲视频在线一区观看| 亚洲在线视频播放| 中日韩午夜理伦电影免费| 中文字幕影音在线| 欧美午夜精品理论片a级大开眼界 欧美午夜精品久久久久免费视 | 久久精品盗摄| 四虎永久免费影院| 欧美性猛交xxxx乱大交极品| 激情小说 在线视频| 日本欧美爱爱爱| 精品99久久| 久草青青在线观看| 欧美高清在线一区| 最新在线中文字幕| 色阁综合伊人av| 欧美大片91| 黄色一级片黄色| 国产**成人网毛片九色| 全部毛片永久免费看| 日韩电影免费在线观看中文字幕 | 69av在线视频| 国产在线日韩精品| 天天摸天天舔天天操| 亚洲色图丝袜美腿| 精品欧美一区二区精品少妇| 欧美黑人xxx| 亚洲欧美成人vr| 精品久久久噜噜噜噜久久图片| 亚洲欧美另类综合偷拍| 国产福利免费视频| 欧美激情亚洲精品| 岳的好大精品一区二区三区| 超碰影院在线观看| 国产精品乱人伦| 国内爆初菊对白视频| 国产91|九色| 秋霞欧美视频| 在线观看亚洲免费视频| 在线日韩一区二区| 黄网页在线观看| 免费久久久一本精品久久区| 人人爽香蕉精品| 亚洲av鲁丝一区二区三区| 亚洲人在线观看| 激情久久免费视频| 极品美女扒开粉嫩小泬| 国产精品视频一二| 天堂在线观看免费视频|