2022-10-13 分類: 網(wǎng)站建設(shè)
隨著用戶訪問量的不斷增加,網(wǎng)站的后臺(tái)也會(huì)不斷變化以應(yīng)對(duì)需求。本文主要從一個(gè)小型網(wǎng)站到大型網(wǎng)站服務(wù)器架構(gòu)的過度與變化來陳述。
1.1 網(wǎng)站后臺(tái)架構(gòu)主要指由web server 、應(yīng)用服務(wù)器、數(shù)據(jù)庫、存儲(chǔ)、監(jiān)控等組成的網(wǎng)站后臺(tái)系統(tǒng)。
1.2 架構(gòu)演變個(gè)人站點(diǎn)后臺(tái)架構(gòu)。如圖2-1所示。
圖2-1 單臺(tái)一組
如圖所示,如果是個(gè)人站點(diǎn),訪問量不大,一般都是將web server、應(yīng)用服務(wù)器、數(shù)據(jù)庫部署在一臺(tái)物理服務(wù)器上。從圖中也可以看到,一個(gè)網(wǎng)站最基本的后臺(tái)需要web server、應(yīng)用服務(wù)器、數(shù)據(jù)庫三部分組成。
1.2.1 網(wǎng)站架構(gòu)的進(jìn)一步演變考慮到網(wǎng)站訪問量的不斷增加,網(wǎng)站的后臺(tái)架構(gòu)也必須不斷調(diào)整和優(yōu)化,進(jìn)一步實(shí)現(xiàn)功能分離。www.linuxidc.com特別是隨著訪問量不斷增加以及考慮到數(shù)據(jù)庫的負(fù)載和數(shù)據(jù)的重要性,數(shù)據(jù)庫需要分離出來。從web server到數(shù)據(jù)庫實(shí)現(xiàn)各個(gè)層次的負(fù)載均衡。
1.2.1.1 數(shù)據(jù)庫功能分離,數(shù)據(jù)庫單臺(tái)部署
考慮到數(shù)據(jù)庫的安全性和處理性能,數(shù)據(jù)庫單臺(tái)部署。如圖2-2-1-1所示。
圖2-2-1-1 數(shù)據(jù)庫分離
如圖所示,數(shù)據(jù)庫與web server 、應(yīng)用服務(wù)器分離出來,單臺(tái)部署。這樣做有兩個(gè)好處:
(1)數(shù)據(jù)庫服務(wù)器性能提高,不再和webserver 、應(yīng)用服務(wù)器搶占資源。
(2)數(shù)據(jù)庫服務(wù)器安全性能提高,不會(huì)因?yàn)橐慌_(tái)服務(wù)器宕機(jī)而影響所有服務(wù),特別是數(shù)據(jù)庫服務(wù)。
1.2.1.2 前端負(fù)載均衡部署,用于緩解單臺(tái)web server壓力
隨著訪問量的不斷增加,單臺(tái)web server 負(fù)載會(huì)加大,甚至有宕機(jī)的危險(xiǎn),所以需要在前端增加負(fù)載均衡器,實(shí)現(xiàn)web server層的負(fù)載均衡。緩解壓力。如圖2-2-1-2所示。
圖2-2-1-2 前端負(fù)載均衡
如圖所示,通過增加web server并用負(fù)載均衡器(load balance)來緩解前端的web server和應(yīng)用服務(wù)器壓力。并且,為了保證數(shù)據(jù)庫的絕對(duì)安全,做了Master-Slave主從備份。這樣當(dāng)master db宕機(jī)之后,slavedb可以立即啟用。所以這樣做有以下好處:
(1)前臺(tái)web server 和 應(yīng)用服務(wù)器壓力減少,負(fù)載均衡器分流負(fù)載。
(2)后端數(shù)據(jù)庫安全性加強(qiáng),出現(xiàn)故障后,業(yè)務(wù)可以很快切換到slave db 上。
1.2.1.3 增加緩存及數(shù)據(jù)庫讀寫分離
隨著訪問量的不斷增加,發(fā)現(xiàn)整個(gè)系統(tǒng)的讀寫比例很大,對(duì)用戶而言,讀操作多于寫操作,而且比例很大,這就需要進(jìn)一步改善架構(gòu),實(shí)現(xiàn)讀寫分離。
通過增加db proxy,實(shí)現(xiàn)讀寫分離。如圖所示,2-2-1-3。
圖2-2-1-3
考慮到讀寫比例大的特點(diǎn),如圖2-2-1-3所示,通過增加db proxy,以及master-slaves ,實(shí)現(xiàn)讀寫分離,所有寫操作在master db上進(jìn)行,所有讀操作在其他slave dbs 上進(jìn)行,這樣做有以下好處:
(1)緩解單臺(tái)db的壓力,減少單臺(tái)db的負(fù)載
(2)增加多個(gè)slave,當(dāng)master db宕機(jī)之后,可以很快切換到slave 上,減少所有db同時(shí)宕機(jī)的風(fēng)險(xiǎn)。
很多用戶訪問,讀與寫操作比例很大,如圖2-2-1-3所示,通過在web server層上增加緩存,可以提高訪問速度。比如可以緩存css、jpg等靜態(tài)文件。
增加緩存有兩個(gè)好處:
(1)加快用戶的讀請(qǐng)求訪問速度。
(2)緩解web server的壓力。
1.2.1.4 解決單點(diǎn)故障問題,增加在線備份設(shè)備(交換設(shè)備和服務(wù)器)
雖然上述幾個(gè)架構(gòu)圖,從各個(gè)層面緩解了服務(wù)器壓力,但是,還是存在當(dāng)點(diǎn)故障的可能性。如果出現(xiàn)單點(diǎn)故障,沒有在線物理設(shè)備提供使用,那該系統(tǒng)也不是一個(gè)高可用的系統(tǒng)。針對(duì)上述問題,增加在線物理備份設(shè)備,解決單點(diǎn)故障問題,如圖2-2-1-4所示。
圖 2-2-1-4
如圖2-2-1-4所示,增加了負(fù)載均衡器的在線備用設(shè)備和db proxy在線備用服務(wù)器,這樣做可以在負(fù)載均衡器出現(xiàn)故障的時(shí)候,啟用在線備用設(shè)備;如果db proxy出現(xiàn)故障,也可以啟用在線備用db proxy,實(shí)現(xiàn)故障轉(zhuǎn)移。保證系統(tǒng)的高可用性。
1.1 高可用性
“高可用性”(High Availability) 通常用來描述一個(gè)系統(tǒng),經(jīng)過特殊設(shè)計(jì),減少停止服務(wù)的時(shí)間,從而使其服務(wù)保持高度的可使用性。
計(jì)算機(jī)系統(tǒng)的可靠性用平均無故障時(shí)間(MTTF)來度量,即計(jì)算機(jī)系統(tǒng)平均能夠正常運(yùn)行多長時(shí)間,才會(huì)發(fā)生一次故障。系統(tǒng)的可靠性能越高,平均無故障時(shí)間越長??删S護(hù)性用平均維修時(shí)間(MTTR)來度量,即系統(tǒng)發(fā)生故障后維修和重新恢復(fù)正常運(yùn)行平均花費(fèi)時(shí)間。系統(tǒng)的可維護(hù)性越好,平均維修時(shí)間越短。計(jì)算機(jī)系統(tǒng)的可用性定義為:MTTF/(MTTF+MTTR)*100%。
舉例來說,淘寶網(wǎng)在2010年成交額為300億,則每分鐘成交額為5—10萬,那么對(duì)淘寶來說,其后臺(tái)系統(tǒng)的高可用,對(duì)企業(yè)運(yùn)營非常重要。淘寶數(shù)據(jù)負(fù)責(zé)人寧海元指出,淘寶系統(tǒng),可用性至少需要99.999%。那么對(duì)于taobao.com系統(tǒng),在一年365天,系統(tǒng)停止服務(wù)時(shí)間為5分15秒。
1.2 確保高可用性
高可用性的衡量指標(biāo)
%availability=(TotalElapsed Time – Sum of Inoperative Times) / Total Elapsed Time
其中:
TotalElapsed Time 為系統(tǒng)總時(shí)間,包括可提供服務(wù)時(shí)間+停止服務(wù)時(shí)間。
Sumof Inoperative Times 為停止服務(wù)時(shí)間,包括宕機(jī)時(shí)間+維護(hù)時(shí)間。
1.2.1 如何確保高可用
可用性越高越好,提高可用性主要從一下幾個(gè)方面入手:
(1)系統(tǒng)架構(gòu)
(2)容災(zāi)性
(3)監(jiān)控報(bào)警
(4)故障轉(zhuǎn)移
1.2.1.1 系統(tǒng)架構(gòu)
系統(tǒng)架構(gòu),指整個(gè)網(wǎng)站后臺(tái)系統(tǒng)的架構(gòu)。好的系統(tǒng)架構(gòu),主要從下面幾個(gè)方面考慮:
(1)操作系統(tǒng)的選擇,從穩(wěn)定性、安全性和可維護(hù)性考慮,unix和linux性能遠(yuǎn)遠(yuǎn)好于windows,從成本考慮,Linux遠(yuǎn)遠(yuǎn)低于windows 和unix。
(2)負(fù)載均衡器的選擇,硬件負(fù)載均衡器性能和穩(wěn)定性高于軟件負(fù)載均衡器。但成本上,軟件比如haproxy、LVS優(yōu)于硬件(比如F5、Netscaler)。
(3)web server的選擇,Nginx優(yōu)于傳統(tǒng)的Apache。
(4)各級(jí)緩存的選擇與應(yīng)用,varnish、squid、memcached。
(5)網(wǎng)站開發(fā)語言的選擇,與開發(fā)有關(guān),www.linuxidc.com主要分為需要編譯性的語言和不需要編譯性的語言。
(6)數(shù)據(jù)庫的選擇,傳統(tǒng)的關(guān)系數(shù)據(jù)庫中,Oracle優(yōu)于MySQL,但Oracle收費(fèi)遠(yuǎn)遠(yuǎn)高于MySQL,實(shí)際上,Oracle有兩種收費(fèi)模式,一種是按用戶數(shù),一種是按主機(jī)處理器個(gè)數(shù)。而MySQL有免費(fèi)的版本。
(7)底層存儲(chǔ)設(shè)備的選擇,比如機(jī)械磁盤和固態(tài)硬盤的選擇。
(8)避免單點(diǎn)故障問題,在邏輯架構(gòu)上,避免單點(diǎn)故障,避免出現(xiàn)割點(diǎn)。
1.2.1.2 容災(zāi)性
容災(zāi)性能對(duì)系統(tǒng)非常重要,比如服務(wù)器因?yàn)閿嚯?,?dǎo)致數(shù)據(jù)文件的不一致,因?yàn)榘l(fā)生自然或者非自然災(zāi)害比如火災(zāi)導(dǎo)致的磁盤損壞,發(fā)生數(shù)據(jù)丟失等。所以容災(zāi)很重要,主要從以下幾個(gè)方面提高容災(zāi)性能:
(1)服務(wù)器熱備機(jī)的部署,當(dāng)發(fā)生故障后,熱備機(jī)能馬上使用,提供服務(wù)。這里的服務(wù)器主要指web server 、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器等。
(2) 數(shù)據(jù)備份,比如做定期備份、熱備份、增量備份,甚至需要做主從備份,來提高抗災(zāi)性能。并且從底層存儲(chǔ)設(shè)備上進(jìn)行備份,比如做RAID。
(3) 做雙線網(wǎng)絡(luò)交換,盡量優(yōu)化設(shè)計(jì)網(wǎng)絡(luò),避免因?yàn)楹诵慕粨Q機(jī)故障,而影響服務(wù)。網(wǎng)絡(luò)上避免單點(diǎn)故障。
1.2.1.3 監(jiān)控報(bào)警
監(jiān)控是指對(duì)在線服務(wù)和非服務(wù)的在線服務(wù)器和相應(yīng)的進(jìn)程進(jìn)行狀態(tài)檢測,當(dāng)出現(xiàn)宕機(jī)或者某項(xiàng)服務(wù)進(jìn)程僵死之后,能夠在盡量短的時(shí)間獲得該信息,然后通過報(bào)警系統(tǒng)將信息發(fā)送到一線運(yùn)維人員。所以,監(jiān)控報(bào)警,直接影響宕機(jī)時(shí)間。監(jiān)控報(bào)警,主要從以下幾個(gè)方面展開:
(1)監(jiān)控主機(jī)CPU使用情況,負(fù)載情況。
(2)監(jiān)控主機(jī)內(nèi)存使用情況。
(3)監(jiān)控主機(jī)IO外設(shè),主要以磁盤為主。如磁盤的讀寫、磁盤使用量等。
(4)監(jiān)控主機(jī)網(wǎng)卡使用情況。網(wǎng)卡是否損壞,是否招到DDOS攻擊。
(5)監(jiān)控應(yīng)用進(jìn)程,包括web server ,應(yīng)用服務(wù)器等。
(6)監(jiān)控?cái)?shù)據(jù)庫使用情況。包括用戶的請(qǐng)求數(shù)、緩存使用量等。
(7)監(jiān)控交換設(shè)備的使用情況。網(wǎng)絡(luò)入、出的流量。
(8)監(jiān)控IDC機(jī)房溫度、濕度等。
(9)防火墻、入侵檢測等安全檢測、監(jiān)控等。
通過上面的各項(xiàng)監(jiān)控、得到相應(yīng)數(shù)值,應(yīng)用監(jiān)控繪圖軟件,把相應(yīng)的數(shù)值繪畫出來,現(xiàn)有監(jiān)控繪圖軟件有mrtg、cacti、nagios等。然后設(shè)置一個(gè)報(bào)警閾值,如果超過該閾值,那么通過報(bào)警系統(tǒng),www.linuxidc.com比如短信、msn、郵件、甚至是聲音完成報(bào)警功能。典型的報(bào)警系統(tǒng)如圖3-2-1-3所示。
圖3-2-1-3
如圖3-2-1-3所示,監(jiān)控服務(wù)器從servers上收集系統(tǒng)信息,如果發(fā)現(xiàn)系統(tǒng)的某項(xiàng)狀態(tài)指數(shù)超過預(yù)設(shè)的閾值,則發(fā)送郵件到運(yùn)維人員。同時(shí),把相應(yīng)的報(bào)警信息發(fā)送到短信運(yùn)營商的短信網(wǎng)關(guān)服務(wù)器,然后短信網(wǎng)關(guān)服務(wù)器發(fā)送短信到運(yùn)維人員手機(jī)中,完成短信報(bào)警。上述報(bào)警過程,傳送郵件報(bào)警信息,是基于TCP/IP協(xié)議,而傳送短信報(bào)警信息,是基于gprs網(wǎng)絡(luò)。
1.2.1.4 故障轉(zhuǎn)移
故障轉(zhuǎn)移是指,當(dāng)對(duì)用戶提供服務(wù)的服務(wù)器或者相應(yīng)的應(yīng)用進(jìn)程發(fā)生故障后,比如服務(wù)器宕機(jī)、進(jìn)程僵死之后,備用服務(wù)器能夠在盡量短的時(shí)間內(nèi)啟用,提供服務(wù)。這樣能夠大限度減少損失,保證用戶的正常服務(wù)。所以,做好故障轉(zhuǎn)移,要解決以下兩個(gè)問題:
(1)實(shí)時(shí)監(jiān)測故障問題。
(2)準(zhǔn)確快速切換服務(wù)器問題。
針對(duì)不同層次的服務(wù),監(jiān)測機(jī)制也不同,詳細(xì)情況,在3.2.1.3已經(jīng)闡述。下面主要論述一下故障切換問題。
故障切換包括負(fù)載均衡器的故障切換、主機(jī)os的故障切換、web server的故障切換、應(yīng)用進(jìn)程的故障切換、數(shù)據(jù)庫的故障切換、存儲(chǔ)系統(tǒng)的故障切換、DNS的故障切換、交換設(shè)備的故障切換等。下面主要分析進(jìn)程僵死的故障轉(zhuǎn)移和服務(wù)器宕機(jī)的故障轉(zhuǎn)移。
進(jìn)程僵死故障轉(zhuǎn)移案例,常見的web server僵死故障轉(zhuǎn)移如圖3-2-1-4所示。
圖3-2-1-4-1
如圖3-2-1-4-1所示,當(dāng)主機(jī)172.29.141.112的web server 對(duì)外提供服務(wù)時(shí),通過在主機(jī)172.29.141.113上部署監(jiān)控程序Monitor_nginx.sh來監(jiān)控主機(jī)172.29.141.112上面的web server進(jìn)程運(yùn)行情況,一旦發(fā)現(xiàn)172.29.141.112上web server停止服務(wù),馬上報(bào)警,先更改172.29.141.113的ip地址為172.29.141.112,再啟用其自身的web server,完成故障轉(zhuǎn)移。此外,也可以在兩服務(wù)器上同時(shí)部署監(jiān)控程序Monitor_nginx.sh,完成互相監(jiān)控。
服務(wù)器宕機(jī)故障轉(zhuǎn)移案例,常見的服務(wù)器宕機(jī)故障轉(zhuǎn)移,如圖3-2-1-4-2所示。
圖3-2-1-4-2
如圖3-2-1-4-2所示,服務(wù)器A和服務(wù)器B同時(shí)部署,但服務(wù)器A提供服務(wù),而服務(wù)器B作為熱備機(jī)。監(jiān)控系統(tǒng)單獨(dú)部署。當(dāng)服務(wù)器A宕機(jī)之后,監(jiān)控系統(tǒng)會(huì)檢測到這一信息,然后通過浮動(dòng)更改服務(wù)器B的ip地址,完成故障切換。
1.3 本文小結(jié)本文主要闡述了網(wǎng)站后臺(tái)系統(tǒng)的高可用性,分析了高可用性的定義和應(yīng)用需求,重點(diǎn)闡述了如何做到高可用。通過從不同應(yīng)用級(jí)別,如主機(jī)、存儲(chǔ)、網(wǎng)絡(luò)、外設(shè)、數(shù)據(jù)庫、安全等各個(gè)級(jí)別進(jìn)行分析,最后詳細(xì)論述了web server的故障轉(zhuǎn)移和主機(jī)系統(tǒng)的故障轉(zhuǎn)移。
整理大型網(wǎng)站架構(gòu)必知必會(huì)的幾個(gè)服務(wù)器知識(shí)
最近看書及系統(tǒng)開發(fā)部署過程中的一些心得,再對(duì)照自己之前的從業(yè)經(jīng)驗(yàn),很多都是聽聞而已,當(dāng)然也有一些已經(jīng)很熟悉,有的正在搞,有的未來希望可以著手付諸實(shí)施,留此存照。
1、負(fù)載均衡服務(wù)器
負(fù)載均衡服務(wù)器主要作用是實(shí)現(xiàn)某些類型服務(wù)器的規(guī)模擴(kuò)展。比如對(duì)于系統(tǒng)前端的web服務(wù)器和后端的數(shù)據(jù)庫服務(wù)器,想通過加服務(wù)器實(shí)現(xiàn)N+1橫向擴(kuò)展,通過多臺(tái)服務(wù)器負(fù)載分擔(dān)壓力,負(fù)載均衡必不可少。
2、web服務(wù)器
最常見,內(nèi)存要求不是很高但cpu要求較高,主要用于部署各種web應(yīng)用,如帶界面的web頁面、不帶界面的web服務(wù)、wcf等等。
3、緩存服務(wù)器
大中型網(wǎng)站,分布式緩存已是標(biāo)配,緩存服務(wù)器專門用于部署分布式緩存,一般而言對(duì)內(nèi)存和帶寬要求較高。
4、消息隊(duì)列服務(wù)器
隊(duì)列是系統(tǒng)解耦利器,也是大中型分布式系統(tǒng)標(biāo)配,沒有隊(duì)列,業(yè)務(wù)系統(tǒng)很容易高度耦合,系統(tǒng)吞吐量也會(huì)很快遭遇瓶頸。
5、文件服務(wù)器
分布式文件系統(tǒng),專門用于存儲(chǔ)業(yè)務(wù)系統(tǒng)需要的各種文件如圖片、多媒體文件等。
6、索引服務(wù)器
用于網(wǎng)站全文索引,搜索必備。對(duì)內(nèi)存和CPU要求較高,大型網(wǎng)站,通常還需要支持主從備份和容錯(cuò),甚至多實(shí)例索引集群。
7、搜索服務(wù)器
通常需要部署多臺(tái),否則查詢多了性能撐不住,對(duì)內(nèi)存要求不高。有的中小型站點(diǎn),索引和搜索服務(wù)器在物理和邏輯上都是同一臺(tái)服務(wù)器。
8、作業(yè)服務(wù)器
主要用于后端應(yīng)用程序大批量大數(shù)據(jù)量復(fù)雜業(yè)務(wù)邏輯的定時(shí)作業(yè),大多數(shù)互聯(lián)網(wǎng)公司標(biāo)配,某些企業(yè)的定時(shí)調(diào)度框架是直接部署在web服務(wù)器上的,可以減少這里的所謂作業(yè)服務(wù)器。
9、數(shù)據(jù)庫服務(wù)器
主要用于存儲(chǔ)和查詢數(shù)據(jù)。數(shù)據(jù)庫已是各種系統(tǒng)實(shí)際上的標(biāo)配,內(nèi)存和CPU都要求極高,網(wǎng)絡(luò)和硬件要求也不低。大中型網(wǎng)站還需要支持?jǐn)?shù)據(jù)庫的主從備份和容錯(cuò),甚至多實(shí)例的數(shù)據(jù)庫集群。
通常,大中型的互聯(lián)網(wǎng)應(yīng)用會(huì)經(jīng)歷一個(gè)從單一的數(shù)據(jù)庫服務(wù)器,到Master/Slave主從服務(wù)器,再到垂直分區(qū)(分庫),然后再到水平分區(qū)(分表,sharding)的過程。而在這個(gè)過程中,Master/Slave以及分庫相對(duì)比較容易,對(duì)應(yīng)用的影響也不是很大,但是分表會(huì)引起一些棘手的問題,比如不能跨越多個(gè)分區(qū)join查詢數(shù)據(jù),如何實(shí)現(xiàn)DB負(fù)載等等,這個(gè)時(shí)候就需要一個(gè)通用的DAL框架來屏蔽底層數(shù)據(jù)存儲(chǔ)對(duì)業(yè)務(wù)邏輯的影響,使得底層數(shù)據(jù)的訪問對(duì)應(yīng)用完全透明化。
10、nosql服務(wù)器
海量數(shù)據(jù)處理的興起,各種nosql產(chǎn)品層出不窮,nosql服務(wù)器主要用于處理海量數(shù)據(jù),支持存儲(chǔ)、查詢、分片等。
web應(yīng)用中,有兩個(gè)一直是不好實(shí)現(xiàn)橫向擴(kuò)展或者由于歷史遺留問題實(shí)現(xiàn)代價(jià)非常大的東西,如你所知,就是:A、數(shù)據(jù)庫 B、網(wǎng)絡(luò)帶寬。
而某些nosql的出現(xiàn)很可能解決這個(gè)歷史遺留難題,現(xiàn)在已經(jīng)有nosql產(chǎn)品彌補(bǔ)了關(guān)系型數(shù)據(jù)庫天生不支持橫向擴(kuò)展的缺點(diǎn),在特定場景下正在替代關(guān)系型數(shù)據(jù)庫。
11、其他
需求不斷變化和應(yīng)用需要,某些互聯(lián)網(wǎng)企業(yè)還可能衍生出基于安全的授權(quán)/證書服務(wù)器,全局唯一的流水號(hào)服務(wù)器,會(huì)話服務(wù)器等等。
參考:<<大型網(wǎng)站技術(shù)架構(gòu)>>
<<構(gòu)建高性能web站點(diǎn)>>
http://www.cnblogs.com/terryli/archive/2008/04/06/1139121.html
http://www.cnblogs.com/ejiyuan/archive/2010/10/29/1796292.html
http://kb.cnblogs.com/page/99549/
http://highscalability.com/blog/2014/7/21/stackoverflow-update-560m-pageviews-a-month-25-servers-and-i.html
http://www.infoq.com/articles/perera-data-storage-haystack
http://lethain.com/introduction-to-architecting-systems-for-scale/
原文地址:https://blog.csdn.net/u010098331/article/details/52243121
網(wǎng)站標(biāo)題:大型網(wǎng)站服務(wù)器架構(gòu)淺析
文章網(wǎng)址:http://m.rwnh.cn/news17/204867.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、外貿(mào)建站、App設(shè)計(jì)、品牌網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容