免费观看已满十八岁电视剧两人_国产+高潮+白丝+中岀+白_国产大片b站免费观看推荐_大尺度床震捏胸呻吟视频_亚洲AV永久无码天堂网国产_日本天堂免费网站_小雪yin荡公交嗯啊校花_向日葵视频色_好硬好大好爽18禁免费看男男

【六六互聯(lián)】長期出售【美國抗投訴服務器】【歐洲抗投訴服務器】【亞洲抗投訴服務器】

云應用、服務的“5層”架構

云應用、服務的“5層”架構

一套完整的云應用、服務架構通??梢苑譃?層。

·負載均衡層(Load Balancing)

·應用服務層(Application Server)

·緩存服務層(Caching Server)

·數(shù)據(jù)庫服務層(Database Server)

·云存儲層(Cloud Storage)

云應用的五層架構

(1)負載均衡

負載均衡層(Load-Balancing Layer,LB Layer)的實現(xiàn)是5層架構中最早面對用戶的,也是相對最容易實現(xiàn)的。通常為了避免SPOF,至少設置兩臺LB服務器(通常在兩臺物理主機之上,以避免單機硬件故障導致SPOF)。整個擴展設置過程通??梢酝耆詣踊缤ㄟ^DNS API來配置新增或刪除LB節(jié)點。最常見的LB解決方案有HAProxy或Nginx,它們通??梢灾С挚缭破脚_的負載均衡(即服務器及其他層跨云,當然這種架構的設計與實現(xiàn)復雜度會急劇增高。前面我們提到過的Cloud Bursting就是典型的跨云基礎架構模式)。智能的LB層實現(xiàn)能做到根據(jù)應用服務器層的健康狀態(tài)、負載狀態(tài)來動態(tài)引流,以確保系統(tǒng)真正實現(xiàn)均衡的負載。

云服務提供商通常會提供現(xiàn)成的LB服務,例如AWS的ELB(Elastic Load-Balancer)、RackSpace的CLB(Cloud Load-Balancer),還有VMware vCloud Air Gateway Services都提供強大的LB服務。

(2)應用服務

負載均衡層之下就是應用服務器層,它負責處理LB轉發(fā)的用戶請求并返回相應的數(shù)據(jù)集。通常數(shù)據(jù)集分為靜態(tài)數(shù)據(jù)與動態(tài)數(shù)據(jù)。前者大抵可以在緩存層保留以降低應用服務器及數(shù)據(jù)庫服務器的負載(見上圖)并加速客戶端獲得返回數(shù)據(jù),后者通常需要底層的數(shù)據(jù)庫層配合來動態(tài)生成所需數(shù)據(jù)集。本層的擴展實現(xiàn)通常通過對現(xiàn)有服務器的負載進行監(jiān)控(主要是CPU,其次為內存、網(wǎng)絡、存儲空間),并根據(jù)需要進行橫向或縱向擴展。橫向擴展(Scale-out)通常是上線同構的服務器(物理機虛擬機),以降低現(xiàn)有服務器或服務器集群負載;縱向擴展(Scale-up)則是對CPU、內存、網(wǎng)絡、存儲空間進行升級。橫向擴展通常不需要系統(tǒng)下線,但是縱向擴展則要求被升級的主機(可能是虛擬機或容器)重啟。

應用服務層因為涉及應用服務邏輯,當多臺服務器協(xié)同工作時,還需要確保它們之上運行的服務的一致性。這個DevOps問題通常是作為PaaS層一部分任務或是數(shù)據(jù)中心中的M&O組件來實現(xiàn)一致化的應用升級、部署等。

(3)緩存

緩存層既可能存在于應用服務器層與數(shù)據(jù)庫服務器層之間,也可能在應用服務器層之上。前者可以被用來降低數(shù)據(jù)庫服務器的重復計算與網(wǎng)絡負載。后者則被用來降低應用服務器負載與網(wǎng)絡帶寬消耗。緩存技術應用的范圍極廣,從Web服務器、中間件、數(shù)據(jù)庫都大量使用緩存以降低不必要的重復計算,進而提高系統(tǒng)綜合性能。

云應用、服務的“5層”架構

緩存層的擴展性實現(xiàn)在避免出現(xiàn)SPOF基礎之上(單個節(jié)點的緩存服務器或與應用服務器共享節(jié)點的方式在生產環(huán)境中都是不可取的),主要是如何實現(xiàn)多緩存節(jié)點間的負載均衡。最常見的分布式簡單緩存實現(xiàn)是memcached(全球最繁忙的20個網(wǎng)站中,有18個使用了memcached3),在多臺memcached服務器間形成了一張哈希表,當有新的緩存節(jié)點加入或老的節(jié)點被刪除(或下線)時,現(xiàn)有節(jié)點并不需要全大規(guī)模改動來生成新的哈希表(這一算法也稱作Consistent Hashing Algorithm,一致性哈希算法)。對于哈希表中數(shù)據(jù)的替換與更新,Memcached采用的是TTL(Time-To-Live)與LRU(Least-Recently-Used)模式。對于更復雜的高擴展性緩存系統(tǒng)設計,屬于NoSQL類的CouchBase數(shù)據(jù)庫提供了更為健全的企業(yè)級緩存功能實現(xiàn),例如Data Persistence(數(shù)據(jù)常存)、Auto-Reblanacing(自動負載均衡)、多租戶支持等。