大型互聯(lián)網(wǎng)相關(guān)技術(shù)_第1頁
大型互聯(lián)網(wǎng)相關(guān)技術(shù)_第2頁
大型互聯(lián)網(wǎng)相關(guān)技術(shù)_第3頁
大型互聯(lián)網(wǎng)相關(guān)技術(shù)_第4頁
大型互聯(lián)網(wǎng)相關(guān)技術(shù)_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Transition Page過渡頁1 大型互聯(lián)網(wǎng)相關(guān)技術(shù)目錄網(wǎng)站架構(gòu)發(fā)展歷史負(fù)載均衡CDN分布式緩存分布式數(shù)據(jù)庫服務(wù)化消息隊(duì)列一、最開始的網(wǎng)站架構(gòu)一、最開始的網(wǎng)站架構(gòu) 最初的架構(gòu),應(yīng)用程序、數(shù)據(jù)庫、文件都部署在一臺服務(wù)器上最初的架構(gòu),應(yīng)用程序、數(shù)據(jù)庫、文件都部署在一臺服務(wù)器上二、應(yīng)用、數(shù)據(jù)、文件分離二、應(yīng)用、數(shù)據(jù)、文件分離 隨著隨著業(yè)務(wù)的擴(kuò)展,一臺服務(wù)器已經(jīng)不能滿足性能需求,故將應(yīng)用程序、數(shù)業(yè)務(wù)的擴(kuò)展,一臺服務(wù)器已經(jīng)不能滿足性能需求,故將應(yīng)用程序、數(shù)據(jù)庫、文件各自部署在獨(dú)立的服務(wù)器上,并且根據(jù)服務(wù)器的用途配置不同據(jù)庫、文件各自部署在獨(dú)立的服務(wù)器上,并且根據(jù)服務(wù)器的用途配置不同的硬件,達(dá)到最佳

2、的性能效果。的硬件,達(dá)到最佳的性能效果。三、利用緩存改善網(wǎng)站性能三、利用緩存改善網(wǎng)站性能 使用使用緩存主要源于熱點(diǎn)緩存主要源于熱點(diǎn)數(shù)據(jù)的存在,大部分網(wǎng)數(shù)據(jù)的存在,大部分網(wǎng)站訪問都遵循站訪問都遵循28原則原則(即(即80%的訪問請求,最的訪問請求,最終落在終落在20%的數(shù)據(jù)上),的數(shù)據(jù)上),所以我們可以對熱點(diǎn)數(shù)所以我們可以對熱點(diǎn)數(shù)據(jù)進(jìn)行緩存,減少這些據(jù)進(jìn)行緩存,減少這些數(shù)據(jù)的訪問路徑,提高數(shù)據(jù)的訪問路徑,提高用戶體驗(yàn)。用戶體驗(yàn)。四、使用集群改善應(yīng)用服務(wù)器性能四、使用集群改善應(yīng)用服務(wù)器性能 提高系統(tǒng)的吞吐量提高系統(tǒng)的吞吐量 提高系統(tǒng)的高可用提高系統(tǒng)的高可用五、數(shù)據(jù)庫讀寫分離和分庫分表五、數(shù)據(jù)庫讀寫

3、分離和分庫分表 隨著隨著用戶量的增加,數(shù)據(jù)用戶量的增加,數(shù)據(jù)庫成為最大的瓶頸,改善庫成為最大的瓶頸,改善數(shù)據(jù)庫性能常用的手段是數(shù)據(jù)庫性能常用的手段是進(jìn)行讀寫分離以及分庫分進(jìn)行讀寫分離以及分庫分表,讀寫分離顧名思義就表,讀寫分離顧名思義就是將數(shù)據(jù)庫分為讀庫和寫是將數(shù)據(jù)庫分為讀庫和寫庫,通過主備功能實(shí)現(xiàn)數(shù)庫,通過主備功能實(shí)現(xiàn)數(shù)據(jù)同步。分庫分表則分為據(jù)同步。分庫分表則分為水平切分和垂直切分,水水平切分和垂直切分,水平切分則是對一個數(shù)據(jù)庫平切分則是對一個數(shù)據(jù)庫特大的表進(jìn)行拆分,例如特大的表進(jìn)行拆分,例如用戶表。垂直切分則是根用戶表。垂直切分則是根據(jù)業(yè)務(wù)的不同來切分,如據(jù)業(yè)務(wù)的不同來切分,如用戶業(yè)務(wù)、商

4、品業(yè)務(wù)相關(guān)用戶業(yè)務(wù)、商品業(yè)務(wù)相關(guān)的表放在不同的數(shù)據(jù)庫中。的表放在不同的數(shù)據(jù)庫中。六、使用六、使用CDN和反向代理提高網(wǎng)站性能和反向代理提高網(wǎng)站性能七、使用分布式文件系統(tǒng)七、使用分布式文件系統(tǒng)八、使用八、使用NoSql和搜索引擎和搜索引擎九九、搭建分布式搭建分布式服務(wù)(服務(wù)化)服務(wù)(服務(wù)化)負(fù)載均衡 應(yīng)用集群:將同一應(yīng)用部署到多臺機(jī)器上,組成處理集群,接收負(fù)載均衡設(shè)備分發(fā)的請求,進(jìn)行處理,并返回相應(yīng)數(shù)據(jù)。提高系統(tǒng)的高可用和吞吐量。 負(fù)載均衡設(shè)備:將用戶訪問的請求,根據(jù)負(fù)載均衡算法,分發(fā)到集群中的一臺處理服務(wù)器。(一種把網(wǎng)絡(luò)請求分散到一個服務(wù)器集群中的可用服務(wù)器上去的設(shè)備)負(fù)載均衡實(shí)現(xiàn)技術(shù)DNS輪

5、詢http重定向LVSDRIP隧道NAT七層(nginx)硬件DNS負(fù)載負(fù)載均衡均衡缺點(diǎn)缺點(diǎn) DNS并不能保證返回的地址均勻的落在每臺服務(wù)器上。并不能保證返回的地址均勻的落在每臺服務(wù)器上。 DNS服務(wù)器并不一定緩存了全部的服務(wù)器地址服務(wù)器并不一定緩存了全部的服務(wù)器地址 如果如果一臺一臺web服務(wù)器宕機(jī),那服務(wù)器宕機(jī),那DNS返回這個地址的請求全返回這個地址的請求全部部失敗。失敗。 每次每次變更服務(wù)器需要變更變更服務(wù)器需要變更DNS,非常麻煩。,非常麻煩。DNS生效還需生效還需要一段要一段時間。時間。 DNS并不一定對服務(wù)器地址進(jìn)行輪詢并不一定對服務(wù)器地址進(jìn)行輪詢返回。返回。 為了為了安全,安全

6、,web服務(wù)器部署在內(nèi)網(wǎng)內(nèi),外部不能直接訪問。服務(wù)器部署在內(nèi)網(wǎng)內(nèi),外部不能直接訪問。 大型大型網(wǎng)站總是部分使用網(wǎng)站總是部分使用DNS解析,作為第一級負(fù)載均衡。解析,作為第一級負(fù)載均衡。 將將DNS作為第一級負(fù)載均衡,作為第一級負(fù)載均衡,A記錄對應(yīng)著內(nèi)部負(fù)載均衡的記錄對應(yīng)著內(nèi)部負(fù)載均衡的IP地址,通過內(nèi)部負(fù)載地址,通過內(nèi)部負(fù)載均衡將請求分發(fā)到真實(shí)的均衡將請求分發(fā)到真實(shí)的Web服務(wù)器上。服務(wù)器上。 DNS能根據(jù)地域返回就近的服務(wù)器地址。能根據(jù)地域返回就近的服務(wù)器地址。http重定向缺點(diǎn):缺點(diǎn):HTTP重定向服務(wù)器不能存重定向服務(wù)器不能存在單點(diǎn),最少需要兩臺才在單點(diǎn),最少需要兩臺才能高可用。那么能高

7、可用。那么HTTP重定重定向服務(wù)器也需要向服務(wù)器也需要負(fù)載均衡負(fù)載均衡設(shè)備。設(shè)備。效率效率很低下很低下當(dāng)當(dāng)變更服務(wù)器集群的時候,變更服務(wù)器集群的時候,需要通知到需要通知到HTTP重定向服重定向服務(wù)器。務(wù)器。不要使用這種方式進(jìn)行負(fù)載不要使用這種方式進(jìn)行負(fù)載均衡均衡。LVS(NAT)負(fù)載均衡策略 輪詢輪詢將所有請求,依次分發(fā)到每臺服務(wù)器上,適合服務(wù)器硬件同相同的場景。將所有請求,依次分發(fā)到每臺服務(wù)器上,適合服務(wù)器硬件同相同的場景。優(yōu)點(diǎn):服務(wù)器請求數(shù)目優(yōu)點(diǎn):服務(wù)器請求數(shù)目相同。相同。缺點(diǎn):服務(wù)器壓力不一樣,不適合服務(wù)器配置不同的缺點(diǎn):服務(wù)器壓力不一樣,不適合服務(wù)器配置不同的情況。情況。 隨機(jī)隨機(jī)請求

8、隨機(jī)分配到各個服務(wù)器。請求隨機(jī)分配到各個服務(wù)器。優(yōu)點(diǎn):使用優(yōu)點(diǎn):使用簡單。簡單。缺點(diǎn)缺點(diǎn):不適合機(jī)器配置不同的:不適合機(jī)器配置不同的場景。場景。 最少最少鏈接鏈接將請求分配到連接數(shù)最少的服務(wù)器(目前處理請求最少的服務(wù)器)。將請求分配到連接數(shù)最少的服務(wù)器(目前處理請求最少的服務(wù)器)。優(yōu)點(diǎn):根據(jù)服務(wù)器當(dāng)前的請求處理情況,優(yōu)點(diǎn):根據(jù)服務(wù)器當(dāng)前的請求處理情況,動態(tài)分配。動態(tài)分配。缺點(diǎn):算法實(shí)現(xiàn)相對復(fù)雜,需要監(jiān)控服務(wù)器請求連接缺點(diǎn):算法實(shí)現(xiàn)相對復(fù)雜,需要監(jiān)控服務(wù)器請求連接數(shù)。數(shù)。負(fù)載均衡策略 Hash(源地址散列)(源地址散列)根據(jù)根據(jù)IP地址進(jìn)行地址進(jìn)行Hash計(jì)算,得到計(jì)算,得到IP地址。地址。優(yōu)點(diǎn)

9、:將來自同一優(yōu)點(diǎn):將來自同一IP地址的請求,同一會話期內(nèi),轉(zhuǎn)發(fā)到相同的服務(wù)器;實(shí)地址的請求,同一會話期內(nèi),轉(zhuǎn)發(fā)到相同的服務(wù)器;實(shí)現(xiàn)會話粘滯。現(xiàn)會話粘滯。缺點(diǎn):目標(biāo)服務(wù)器宕機(jī)后,會話會缺點(diǎn):目標(biāo)服務(wù)器宕機(jī)后,會話會丟失。丟失。 加權(quán)加權(quán)在輪詢,隨機(jī),最少鏈接,在輪詢,隨機(jī),最少鏈接,Hash等算法的基礎(chǔ)上,通過加權(quán)的方式,進(jìn)行負(fù)等算法的基礎(chǔ)上,通過加權(quán)的方式,進(jìn)行負(fù)載服務(wù)器分配。載服務(wù)器分配。優(yōu)點(diǎn):根據(jù)權(quán)重,調(diào)節(jié)轉(zhuǎn)發(fā)服務(wù)器的請求優(yōu)點(diǎn):根據(jù)權(quán)重,調(diào)節(jié)轉(zhuǎn)發(fā)服務(wù)器的請求數(shù)目。數(shù)目。缺點(diǎn):使用相對缺點(diǎn):使用相對復(fù)雜。復(fù)雜。LVS(DR)LVS(TUN)硬件F5支持4層和7層負(fù)載均衡以及多種優(yōu)化技術(shù)價格昂

10、貴Nginx Nginx(“engine x”) 是一個是一個高性能的高性能的HTTP和反向代理和反向代理服務(wù)器,也是一個服務(wù)器,也是一個IMAP/POP3/SMTP服務(wù)器。服務(wù)器。 Nginx使用更少的資源,支使用更少的資源,支持更多的并發(fā)連接,體現(xiàn)持更多的并發(fā)連接,體現(xiàn)更高的效率,能夠支持高更高的效率,能夠支持高達(dá)達(dá) 50,000個并發(fā)連接數(shù)的個并發(fā)連接數(shù)的響應(yīng)。響應(yīng)。Nginx使用使用epoll and kqueue 作為開發(fā)模型。作為開發(fā)模型。我們怎么用我們怎么用nginx?nginx處理靜態(tài)資源,然后處理靜態(tài)資源,然后將動態(tài)資源交給將動態(tài)資源交給tomcat進(jìn)進(jìn)行處理。行處理。ngi

11、nx作為方向代理服務(wù)器,作為方向代理服務(wù)器,nginx進(jìn)行進(jìn)行七層七層負(fù)載負(fù)載均衡。均衡。網(wǎng)絡(luò)延遲帶來的挑戰(zhàn)假設(shè)別的國家連接中國的網(wǎng)絡(luò)很慢,外國人訪問含有大量圖片的天貓網(wǎng)站,此時網(wǎng)頁可能下載不到圖片或者下載的速度很慢,怎么辦?解決方案什么是CDN 內(nèi)容分發(fā)網(wǎng)絡(luò)(Cloud Delivery Network,簡稱 CDN)將源站內(nèi)容分發(fā)至全國所有的節(jié)點(diǎn),縮短用戶查看對象的延遲,提高用戶訪問網(wǎng)站的響應(yīng)速度與網(wǎng)站的可用性,解決網(wǎng)絡(luò)帶寬小、用戶訪問量大、網(wǎng)點(diǎn)分布不均等問題CDN原理-DNS解析過程CDN原理-DNS解析分布式緩存分布式緩存Server=key%3Key=1 server=1Key=2

12、server=2Key=3 server=0Key=4 server=1Key=5 server=2Redis-0機(jī)器宕機(jī)Server=key%2Key=1 server=1Key=2 server=0 (失效)Key=3 server=1 (失效)Key=4 server=0 (失效)Key=5 server=1 (失效) 增加redis-3機(jī)器Server=key%4Key=1 server=1Key=2 server=2 (失效)Key=3 server=3 (失效)Key=4 server=0 (失效)Key=5 server=1 (失效)分布式緩存-HASH一致性算法 平衡性(Bal

13、ance): 平衡性是指哈希的結(jié)果能夠盡可能分布到所有的緩沖中去,這樣可以使得所有的緩沖空間都得到利用。 單調(diào)性(Monotonicity): 單調(diào)性是指如果已經(jīng)有一些內(nèi)容通過哈希分派到了相應(yīng)的緩沖中,又有新的緩沖加入到系統(tǒng)中。 分散性(Spread): 在最終的結(jié)果是相同的內(nèi)容被不同的終端映射到不同的緩沖區(qū)中。這種情況顯然是應(yīng)該避免的,因?yàn)樗鼘?dǎo)致相同內(nèi)容被存儲到不同緩沖中去,降低了系統(tǒng)存儲的效率。分散性的定義就是上述情況發(fā)生的嚴(yán)重程度。好的哈希算法應(yīng)能夠盡量避免不一致的情況發(fā)生,也就是盡量降低分散性。 負(fù)載(Load): 負(fù)載問題實(shí)際上是從另一個角度看待分散性問題。既然不同的終端可能將相同的

14、內(nèi)容映射到不同的緩沖區(qū)中, 那么對于一個特定的緩沖區(qū)而言,也可能被不同的用戶映射為不同 的內(nèi)容。與分散性一樣,這種情況也是應(yīng)當(dāng)避免的,因此好的哈希算法應(yīng)能夠盡量降低緩沖的負(fù)荷。HASH一致性算法數(shù)據(jù)庫的挑戰(zhàn)MYSQL在數(shù)據(jù)量達(dá)到千萬級別數(shù)據(jù)的時候就會變慢,怎么辦?數(shù)據(jù)庫QPS,TPS較大,CPU跑滿怎么辦?解決辦法1-主備庫解決辦法2-將一個庫的表移到其他庫解決辦法3-分布式數(shù)據(jù)庫分布式數(shù)據(jù)庫使用要點(diǎn)insert一定要有分庫分表字段select一定要縮小表的查找范圍盡量使得數(shù)據(jù)均等的分散在各個數(shù)據(jù)的各個表上為什么需要服務(wù)化為什么需要服務(wù)化SOA-(Service-Oriented Archit

15、ecture)表達(dá)了一種軟件架構(gòu)概念,它定義為使用服務(wù)來滿足軟件用戶的需求。在SOA環(huán)境中,系統(tǒng)上的節(jié)點(diǎn)以獨(dú)立服務(wù)的形式將自己的資源開放給網(wǎng)絡(luò)上其他參與者,其他參與者按一種標(biāo)準(zhǔn)的方式使用資源。與傳統(tǒng)點(diǎn)對點(diǎn)架構(gòu)不同,各種SOA都由松耦合、高度可互操作的應(yīng)用服務(wù)構(gòu)成。服務(wù)化webServiceRestFulEDASWeb Service的基本層次結(jié)構(gòu)UDDI : Universal Description Discovery and Integration WSDL: Web Service Description LanguageSOAP : Simple Object Access Proto

16、colSOAPSOAPSOAPWebService是一種跨編程語言和跨操作系統(tǒng)平臺的遠(yuǎn)程調(diào)用技術(shù)WSDL描述web服務(wù)的三個基本屬性服務(wù)做些什么?服務(wù)所提供的操作(方法)。如何訪問服務(wù)?數(shù)據(jù)格式以及訪問服務(wù)操作的必要協(xié)議。服務(wù)位于何處?由特定協(xié)議決定的網(wǎng)絡(luò)地址,如URL。Wsdl例子SOAP是什么?SOAP 是一種輕量級協(xié)議,用于在分散型、分布式環(huán)境中交換結(jié)構(gòu)化信息。 SOAP 利用 XML 技術(shù)定義一種可擴(kuò)展的消息處理框架,它提供了一種可通過多種底層協(xié)議進(jìn)行交換的消息結(jié)構(gòu)。 這種框架的設(shè)計(jì)思想是要獨(dú)立于任何一種特定的編程模型和其他特定實(shí)現(xiàn)的語義。SOAP的概念最初來自于 Microsoft

17、and User land software,它已經(jīng)演化了好幾代; 當(dāng)前最新的規(guī)范是SOAP 2.0。由W3C組織制定。SOAP消息結(jié)構(gòu)SOAP請求 . 12345678 SOAP請求在HTTP上的傳輸POST /DEMOWebServices2.8/Service.asmx HTTP/1.1Host: Content-Type: application/soap+xml; charset=utf-8Content-Length: length . 12345678 SOAP響應(yīng)在HTTP上的傳輸HTTP/1.1 200 OKContent-Type: application/soap+xml

18、; charset=utf-8Content-Length: length . Gaussstr. 29 Braunschweig D-38106 SOAP響應(yīng) . Gaussstr. 29 Braunschweig D-38106 相關(guān)框架Axis2方式方式 支持多種語言,性能較低支持多種語言,性能較低Xfire 和和spring整合很方便整合很方便Apche CXF方式方式 是是Xfire的升級版的升級版JDK開發(fā)開發(fā)webservice方式方式RESTFULREST REST這個詞,是這個詞,是Roy Thomas Fielding在他在他2000年的年的博士論文博士論文中提出的。中提出

19、的。 它它結(jié)構(gòu)清晰、符合標(biāo)準(zhǔn)、易于理解、擴(kuò)展方便,所以正得到越來越多網(wǎng)站的采用結(jié)構(gòu)清晰、符合標(biāo)準(zhǔn)、易于理解、擴(kuò)展方便,所以正得到越來越多網(wǎng)站的采用。資源(資源(Resources) REST的名稱的名稱表現(xiàn)層狀態(tài)轉(zhuǎn)化表現(xiàn)層狀態(tài)轉(zhuǎn)化中,省略了主語。中,省略了主語。表現(xiàn)層表現(xiàn)層其實(shí)指的是其實(shí)指的是資源資源(Resources)的)的表現(xiàn)層表現(xiàn)層。 所謂所謂資源資源,就是網(wǎng)絡(luò)上的一個實(shí)體,或者說是網(wǎng)絡(luò)上的一個具體信息。它可以是一段文本、一張圖片、一首,就是網(wǎng)絡(luò)上的一個實(shí)體,或者說是網(wǎng)絡(luò)上的一個具體信息。它可以是一段文本、一張圖片、一首歌曲、一種服務(wù),總之就是一個具體的實(shí)在。你可以用一個歌曲、一種服務(wù)

20、,總之就是一個具體的實(shí)在。你可以用一個URI(統(tǒng)一資源定位符)指向它,每種資源對應(yīng)一個特定(統(tǒng)一資源定位符)指向它,每種資源對應(yīng)一個特定的的URI。要獲取這個資源,訪問它的。要獲取這個資源,訪問它的URI就可以,因此就可以,因此URI就成了每一個資源的地址或獨(dú)一無二的識別符。就成了每一個資源的地址或獨(dú)一無二的識別符。表現(xiàn)層(表現(xiàn)層(Representation) “資源的表現(xiàn)形式(資源的表現(xiàn)形式(XML/JSON/HTML/二進(jìn)制等)二進(jìn)制等)狀態(tài)轉(zhuǎn)化(狀態(tài)轉(zhuǎn)化(State Transfer) HTTP協(xié)議里面,四個表示操作方式的動詞:協(xié)議里面,四個表示操作方式的動詞:GET、POST、PUT

21、、DELETE。它們分別對應(yīng)四種基本操作:。它們分別對應(yīng)四種基本操作:GET用來用來獲取資源,獲取資源,POST用來新建資源(也可以用于更新資源),用來新建資源(也可以用于更新資源),PUT用來更新資源,用來更新資源,DELETE用來刪除資源。用來刪除資源。EDAS企業(yè)級分布式應(yīng)用服務(wù)(EDAS,Enterprise Distributed Application Service)是企業(yè)級互聯(lián)網(wǎng)架構(gòu)解決方案的核心產(chǎn)品,充分利用阿里云現(xiàn)有資源管理和服務(wù)體系,引入中間件成熟的整套分布式計(jì)算框架(包括分布式服務(wù)化框架、服務(wù)治理、運(yùn)維管控、鏈路追蹤和穩(wěn)定性組件等),以應(yīng)用為中心,幫助企業(yè)級客戶輕松構(gòu)建并托管分布式應(yīng)用服務(wù)體系。 EDAS配置示例EDAS消息隊(duì)列消息隊(duì)列-元素 主題主題一種支持發(fā)送消息給多個訂閱者的機(jī)制。一種支持發(fā)送消息給多個訂閱者的機(jī)制。 生產(chǎn)者生產(chǎn)者創(chuàng)建并發(fā)送消息的創(chuàng)建并發(fā)送消息的JMS客戶??蛻?。 消費(fèi)者消費(fèi)者接收消息的接收消息的JMS客戶??蛻?。 消息消息包括可以在包括可以在JMS客戶之間傳遞的數(shù)據(jù)的對象客戶

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論