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

億級Web系統搭建:單機到分布式集群

開發 后端 分布式
當一個Web系統從日訪問量10萬逐步增長到1000萬,甚至超過1億的過程中,Web系統承受的壓力會越來越大,在這個過程中,我們會遇到很多的問題。

當一個Web系統從日訪問量10萬逐步增長到1000萬,甚至超過1億的過程中,Web系統承受的壓力會越來越大,在這個過程中,我們會遇到很多的問題。為了解決這些性能壓力帶來問題,我們需要在Web系統架構層面搭建多個層次的緩存機制。在不同的壓力階段,我們會遇到不同的問題,通過搭建不同的服務和架構來解決。

[[273492]]

Web負載均衡

Web負載均衡(Load Balancing),簡單地說就是給我們的服務器集群分配“工作任務”,而采用恰當的分配方式,對于保護處于后端的Web服務器來說,非常重要。

億級Web系統搭建:單機到分布式集群

負載均衡的策略有很多,我們從簡單的講起哈。

1. HTTP重定向

當用戶發來請求的時候,Web服務器通過修改HTTP響應頭中的Location標記來返回一個新的url,然后瀏覽器再繼續請求這個新url,實際上就是頁面重定向。通過重定向,來達到“負載均衡”的目標。例如,我們在下載PHP源碼包的時候,點擊下載鏈接時,為了解決不同國家和地域下載速度的問題,它會返回一個離我們近的下載地址。重定向的HTTP返回碼是302,如下圖:

億級Web系統搭建——單機到分布式集群 – hansionxu – 技術的天空 

億級Web系統搭建:單機到分布式集群

如果使用PHP代碼來實現這個功能,方式如下:

 

億級Web系統搭建:單機到分布式集群

這個重定向非常容易實現,并且可以自定義各種策略。但是,它在大規模訪問量下,性能不佳。而且,給用戶的體驗也不好,實際請求發生重定向,增加了網絡延時。

2. 反向代理負載均衡

反向代理服務的核心工作主要是轉發HTTP請求,扮演了瀏覽器端和后臺Web服務器中轉的角色。因為它工作在HTTP層(應用層),也就是網絡七層結構中的第七層,因此也被稱為“七層負載均衡”??梢宰龇聪虼淼能浖芏?,比較常見的一種是Nginx。

億級Web系統搭建:單機到分布式集群

Nginx是一種非常靈活的反向代理軟件,可以自由定制化轉發策略,分配服務器流量的權重等。反向代理中,常見的一個問題,就是Web服務器存儲的session數據,因為一般負載均衡的策略都是隨機分配請求的。同一個登錄用戶的請求,無法保證一定分配到相同的Web機器上,會導致無法找到session的問題。

解決方案主要有兩種:

配置反向代理的轉發規則,讓同一個用戶的請求一定落到同一臺機器上(通過分析cookie),復雜的轉發規則將會消耗更多的CPU,也增加了代理服務器的負擔。

將session這類的信息,專門用某個獨立服務來存儲,例如redis/memchache,這個方案是比較推薦的。

反向代理服務,也是可以開啟緩存的,如果開啟了,會增加反向代理的負擔,需要謹慎使用。這種負載均衡策略實現和部署非常簡單,而且性能表現也比較好。但是,它有“單點故障”的問題,如果掛了,會帶來很多的麻煩。而且,到了后期Web服務器繼續增加,它本身可能成為系統的瓶頸。

3. IP負載均衡

IP負載均衡服務是工作在網絡層(修改IP)和傳輸層(修改端口,第四層),比起工作在應用層(第七層)性能要高出非常多。原理是,他是對IP層的數據包的IP地址和端口信息進行修改,達到負載均衡的目的。這種方式,也被稱為“四層負載均衡”。常見的負載均衡方式,是LVS(Linux Virtual Server,Linux虛擬服務),通過IPVS(IP Virtual Server,IP虛擬服務)來實現。

億級Web系統搭建:單機到分布式集群

在負載均衡服務器收到客戶端的IP包的時候,會修改IP包的目標IP地址或端口,然后原封不動地投遞到內部網絡中,數據包會流入到實際Web服務器。實際服務器處理完成后,又會將數據包投遞回給負載均衡服務器,它再修改目標IP地址為用戶IP地址,最終回到客戶端。

億級Web系統搭建:單機到分布式集群

上述的方式叫LVS-NAT,除此之外,還有LVS-RD(直接路由),LVS-TUN(IP隧道),三者之間都屬于LVS的方式,但是有一定的區別,篇幅問題,不贅敘。

IP負載均衡的性能要高出Nginx的反向代理很多,它只處理到傳輸層為止的數據包,并不做進一步的組包,然后直接轉發給實際服務器。不過,它的配置和搭建比較復雜。

4. DNS負載均衡

DNS(Domain Name System)負責域名解析的服務,域名url實際上是服務器的別名,實際映射是一個IP地址,解析過程,就是DNS完成域名到IP的映射。而一個域名是可以配置成對應多個IP的。因此,DNS也就可以作為負載均衡服務。

這種負載均衡策略,配置簡單,性能極佳。但是,不能自由定義規則,而且,變更被映射的IP或者機器故障時很麻煩,還存在DNS生效延遲的問題。

5. DNS/GSLB負載均衡

我們常用的CDN(Content Delivery Network,內容分發網絡)實現方式,其實就是在同一個域名映射為多IP的基礎上更進一步,通過GSLB(Global Server Load Balance,全局負載均衡)按照指定規則映射域名的IP。一般情況下都是按照地理位置,將離用戶近的IP返回給用戶,減少網絡傳輸中的路由節點之間的跳躍消耗。

億級Web系統搭建:單機到分布式集群

圖中的“向上尋找”,實際過程是LDNS(Local DNS)先向根域名服務(Root Name Server)獲取到頂級根的Name Server(例如.com的),然后得到指定域名的授權DNS,然后再獲得實際服務器IP。

億級Web系統搭建:單機到分布式集群

CDN在Web系統中,一般情況下是用來解決大小較大的靜態資源(html/Js/Css/圖片等)的加載問題,讓這些比較依賴網絡下載的內容,盡可能離用戶更近,提升用戶體驗。

例如,我訪問了一張imgcache.gtimg.cn上的圖片(騰訊的自建CDN,不使用qq.com域名的原因是防止http請求的時候,帶上了多余的cookie信息),我獲得的IP是183.60.217.90。

億級Web系統搭建:單機到分布式集群

這種方式,和前面的DNS負載均衡一樣,不僅性能極佳,而且支持配置多種策略。但是,搭建和維護成本非常高。互聯網一線公司,會自建CDN服務,中小型公司一般使用第三方提供的CDN。

Web系統的緩存機制的建立和優化

剛剛我們講完了Web系統的外部網絡環境,現在我們開始關注我們Web系統自身的性能問題。我們的Web站點隨著訪問量的上升,會遇到很多的挑戰,解決這些問題不僅僅是擴容機器這么簡單,建立和使用合適的緩存機制才是根本。

最開始,我們的Web系統架構可能是這樣的,每個環節,都可能只有1臺機器。

億級Web系統搭建:單機到分布式集群

我們從最根本的數據存儲開始看哈。

一、 MySQL數據庫內部緩存使用

MySQL的緩存機制,就從先從MySQL內部開始,下面的內容將以最常見的InnoDB存儲引擎為主。

1. 建立恰當的索引

最簡單的是建立索引,索引在表數據比較大的時候,起到快速檢索數據的作用,但是成本也是有的。首先,占用了一定的磁盤空間,其中組合索引最突出,使用需要謹慎,它產生的索引甚至會比源數據更大。其次,建立索引之后的數據insert/update/delete等操作,因為需要更新原來的索引,耗時會增加。當然,實際上我們的系統從總體來說,是以select查詢操作居多,因此,索引的使用仍然對系統性能有大幅提升的作用。

2. 數據庫連接線程池緩存

如果,每一個數據庫操作請求都需要創建和銷毀連接的話,對數據庫來說,無疑也是一種巨大的開銷。為了減少這類型的開銷,可以在MySQL中配置thread_cache_size來表示保留多少線程用于復用。線程不夠的時候,再創建,空閑過多的時候,則銷毀。

億級Web系統搭建:單機到分布式集群

其實,還有更為激進一點的做法,使用pconnect(數據庫長連接),線程一旦創建在很長時間內都保持著。但是,在訪問量比較大,機器比較多的情況下,這種用法很可能會導致“數據庫連接數耗盡”,因為建立連接并不回收,最終達到數據庫的max_connections(最大連接數)。因此,長連接的用法通常需要在CGI和MySQL之間實現一個“連接池”服務,控制CGI機器“盲目”創建連接數。

億級Web系統搭建:單機到分布式集群

建立數據庫連接池服務,有很多實現的方式,PHP的話,我推薦使用swoole(PHP的一個網絡通訊拓展)來實現。

3. Innodb緩存設置(innodb_buffer_pool_size)

innodb_buffer_pool_size這是個用來保存索引和數據的內存緩存區,如果機器是MySQL獨占的機器,一般推薦為機器物理內存的80%。在取表數據的場景中,它可以減少磁盤IO。一般來說,這個值設置越大,cache命中率會越高。

4. 分庫/分表/分區。

MySQL數據庫表一般承受數據量在百萬級別,再往上增長,各項性能將會出現大幅度下降,因此,當我們預見數據量會超過這個量級的時候,建議進行分庫/分表/分區等操作。最好的做法,是服務在搭建之初就設計為分庫分表的存儲模式,從根本上杜絕中后期的風險。不過,會犧牲一些便利性,例如列表式的查詢,同時,也增加了維護的復雜度。不過,到了數據量千萬級別或者以上的時候,我們會發現,它們都是值得的。

二、 MySQL數據庫多臺服務搭建

1臺MySQL機器,實際上是高風險的單點,因為如果它掛了,我們Web服務就不可用了。而且,隨著Web系統訪問量繼續增加,終于有一天,我們發現1臺MySQL服務器無法支撐下去,我們開始需要使用更多的MySQL機器。當引入多臺MySQL機器的時候,很多新的問題又將產生。

1. 建立MySQL主從,從庫作為備份

這種做法純粹為了解決“單點故障”的問題,在主庫出故障的時候,切換到從庫。不過,這種做法實際上有點浪費資源,因為從庫實際上被閑著了。

億級Web系統搭建:單機到分布式集群

2. MySQL讀寫分離,主庫寫,從庫讀。

兩臺數據庫做讀寫分離,主庫負責寫入類的操作,從庫負責讀的操作。并且,如果主庫發生故障,仍然不影響讀的操作,同時也可以將全部讀寫都臨時切換到從庫中(需要注意流量,可能會因為流量過大,把從庫也拖垮)。

億級Web系統搭建:單機到分布式集群

3. 主主互備。

兩臺MySQL之間互為彼此的從庫,同時又是主庫。這種方案,既做到了訪問量的壓力分流,同時也解決了“單點故障”問題。任何一臺故障,都還有另外一套可供使用的服務。

億級Web系統搭建:單機到分布式集群

不過,這種方案,只能用在兩臺機器的場景。如果業務拓展還是很快的話,可以選擇將業務分離,建立多個主主互備。

三、 MySQL數據庫機器之間的數據同步

每當我們解決一個問題,新的問題必然誕生在舊的解決方案上。當我們有多臺MySQL,在業務高峰期,很可能出現兩個庫之間的數據有延遲的場景。并且,網絡和機器負載等,也會影響數據同步的延遲。我們曾經遇到過,在日訪問量接近1億的特殊場景下,出現,從庫數據需要很多天才能同步追上主庫的數據。這種場景下,從庫基本失去效用了。

于是,解決同步問題,就是我們下一步需要關注的點。

1. MySQL自帶多線程同步

MySQL5.6開始支持主庫和從庫數據同步,走多線程。但是,限制也是比較明顯的,只能以庫為單位。MySQL數據同步是通過binlog日志,主庫寫入到binlog日志的操作,是具有順序的,尤其當SQL操作中含有對于表結構的修改等操作,對于后續的SQL語句操作是有影響的。因此,從庫同步數據,必須走單進程。

2. 自己實現解析binlog,多線程寫入。

以數據庫的表為單位,解析binlog多張表同時做數據同步。這樣做的話,的確能夠加快數據同步的效率,但是,如果表和表之間存在結構關系或者數據依賴的話,則同樣存在寫入順序的問題。這種方式,可用于一些比較穩定并且相對獨立的數據表。

億級Web系統搭建:單機到分布式集群

國內一線互聯網公司,大部分都是通過這種方式,來加快數據同步效率。還有更為激進的做法,是直接解析binlog,忽略以表為單位,直接寫入。但是這種做法,實現復雜,使用范圍就更受到限制,只能用于一些場景特殊的數據庫中(沒有表結構變更,表和表之間沒有數據依賴等特殊表)。

四、 在Web服務器和數據庫之間建立緩存

實際上,解決大訪問量的問題,不能僅僅著眼于數據庫層面。根據“二八定律”,80%的請求只關注在20%的熱點數據上。因此,我們應該建立Web服務器和數據庫之間的緩存機制。這種機制,可以用磁盤作為緩存,也可以用內存緩存的方式。通過它們,將大部分的熱點數據查詢,阻擋在數據庫之前。

億級Web系統搭建:單機到分布式集群

1. 頁面靜態化

用戶訪問網站的某個頁面,頁面上的大部分內容在很長一段時間內,可能都是沒有變化的。例如一篇新聞報道,一旦發布幾乎是不會修改內容的。這樣的話,通過CGI生成的靜態html頁面緩存到Web服務器的磁盤本地。除了第一次,是通過動態CGI查詢數據庫獲取之外,之后都直接將本地磁盤文件返回給用戶。

億級Web系統搭建:單機到分布式集群

在Web系統規模比較小的時候,這種做法看似完美。但是,一旦Web系統規模變大,例如當我有100臺的Web服務器的時候。那樣這些磁盤文件,將會有100份,這個是資源浪費,也不好維護。這個時候有人會想,可以集中一臺服務器存起來,呵呵,不如看看下面一種緩存方式吧,它就是這樣做的。

2. 單臺內存緩存

通過頁面靜態化的例子中,我們可以知道將“緩存”搭建在Web機器本機是不好維護的,會帶來更多問題(實際上,通過PHP的apc拓展,可通過Key/value操作Web服務器的本機內存)。因此,我們選擇搭建的內存緩存服務,也必須是一個獨立的服務。

內存緩存的選擇,主要有redis/memcache。從性能上說,兩者差別不大,從功能豐富程度上說,Redis更勝一籌。

億級Web系統搭建:單機到分布式集群

3. 內存緩存集群

當我們搭建單臺內存緩存完畢,我們又會面臨單點故障的問題,因此,我們必須將它變成一個集群。簡單的做法,是給他增加一個slave作為備份機器。但是,如果請求量真的很多,我們發現cache命中率不高,需要更多的機器內存呢?因此,我們更建議將它配置成一個集群。例如,類似redis cluster。

Redis cluster集群內的Redis互為多組主從,同時每個節點都可以接受請求,在拓展集群的時候比較方便。客戶端可以向任意一個節點發送請求,如果是它的“負責”的內容,則直接返回內容。否則,查找實際負責Redis節點,然后將地址告知客戶端,客戶端重新請求。

億級Web系統搭建:單機到分布式集群

對于使用緩存服務的客戶端來說,這一切是透明的。

億級Web系統搭建:單機到分布式集群

內存緩存服務在切換的時候,是有一定風險的。從A集群切換到B集群的過程中,必須保證B集群提前做好“預熱”(B集群的內存中的熱點數據,應該盡量與A集群相同,否則,切換的一瞬間大量請求內容,在B集群的內存緩存中查找不到,流量直接沖擊后端的數據庫服務,很可能導致數據庫宕機)。

4. 減少數據庫“寫”

上面的機制,都實現減少數據庫的“讀”的操作,但是,寫的操作也是一個大的壓力。寫的操作,雖然無法減少,但是可以通過合并請求,來起到減輕壓力的效果。這個時候,我們就需要在內存緩存集群和數據庫集群之間,建立一個修改同步機制。

先將修改請求生效在cache中,讓外界查詢顯示正常,然后將這些sql修改放入到一個隊列中存儲起來,隊列滿或者每隔一段時間,合并為一個請求到數據庫中更新數據庫。

億級Web系統搭建:單機到分布式集群

除了上述通過改變系統架構的方式提升寫的性能外,MySQL本身也可以通過配置參數innodb_flush_log_at_trx_commit來調整寫入磁盤的策略。如果機器成本允許,從硬件層面解決問題,可以選擇老一點的RAID(Redundant Arrays of independent Disks,磁盤列陣)或者比較新的SSD(Solid State Drives,固態硬盤)。

5. NoSQL存儲

不管數據庫的讀還是寫,當流量再進一步上漲,終會達到“人力有窮時”的場景。繼續加機器的成本比較高,并且不一定可以真正解決問題的時候。這個時候,部分核心數據,就可以考慮使用NoSQL的數據庫。NoSQL存儲,大部分都是采用key-value的方式,這里比較推薦使用上面介紹過Redis,Redis本身是一個內存cache,同時也可以當做一個存儲來使用,讓它直接將數據落地到磁盤。

這樣的話,我們就將數據庫中某些被頻繁讀寫的數據,分離出來,放在我們新搭建的Redis存儲集群中,又進一步減輕原來MySQL數據庫的壓力,同時因為Redis本身是個內存級別的Cache,讀寫的性能都會大幅度提升。

億級Web系統搭建:單機到分布式集群

國內一線互聯網公司,架構上采用的解決方案很多是類似于上述方案,不過,使用的cache服務卻不一定是Redis,他們會有更豐富的其他選擇,甚至根據自身業務特點開發出自己的NoSQL服務。

6. 空節點查詢問題

當我們搭建完前面所說的全部服務,認為Web系統已經很強的時候。我們還是那句話,新的問題還是會來的。空節點查詢,是指那些數據庫中根本不存在的數據請求。例如,我請求查詢一個不存在人員信息,系統會從各級緩存逐級查找,最后查到到數據庫本身,然后才得出查找不到的結論,返回給前端。因為各級cache對它無效,這個請求是非常消耗系統資源的,而如果大量的空節點查詢,是可以沖擊到系統服務的。

億級Web系統搭建:單機到分布式集群

在我曾經的工作經歷中,曾深受其害。因此,為了維護Web系統的穩定性,設計適當的空節點過濾機制,非常有必要。

我們當時采用的方式,就是設計一張簡單的記錄映射表。將存在的記錄存儲起來,放入到一臺內存cache中,這樣的話,如果還有空節點查詢,則在緩存這一層就被阻擋了。

億級Web系統搭建:單機到分布式集群

異地部署(地理分布式)

完成了上述架構建設之后,我們的系統是否就已經足夠強大了呢?答案當然是否定的哈,優化是無極限的。Web系統雖然表面上看,似乎比較強大了,但是給予用戶的體驗卻不一定是最好的。因為東北的同學,訪問深圳的一個網站服務,他還是會感到一些網絡距離上的慢。這個時候,我們就需要做異地部署,讓Web系統離用戶更近。

一、 核心集中與節點分散

有玩過大型網游的同學都會知道,網游是有很多個區的,一般都是按照地域來分,例如廣東專區,北京專區。如果一個在廣東的玩家,去北京專區玩,那么他會感覺明顯比在廣東專區卡。實際上,這些大區的名稱就已經說明了,它的服務器所在地,所以,廣東的玩家去連接地處北京的服務器,網絡當然會比較慢。

當一個系統和服務足夠大的時候,就必須開始考慮異地部署的問題了。讓你的服務,盡可能離用戶更近。我們前面已經提到了Web的靜態資源,可以存放在CDN上,然后通過DNS/GSLB的方式,讓靜態資源的分散“全國各地”。但是,CDN只解決的靜態資源的問題,沒有解決后端龐大的系統服務還只集中在某個固定城市的問題。

這個時候,異地部署就開始了。異地部署一般遵循:核心集中,節點分散。

  • 核心集中:實際部署過程中,總有一部分的數據和服務存在不可部署多套,或者部署多套成本巨大。而對于這些服務和數據,就仍然維持一套,而部署地點選擇一個地域比較中心的地方,通過網絡內部專線來和各個節點通訊。
  • 節點分散:將一些服務部署為多套,分布在各個城市節點,讓用戶請求盡可能選擇近的節點訪問服務。

例如,我們選擇在上海部署為核心節點,北京,深圳,武漢,上海為分散節點(上海自己本身也是一個分散節點)。我們的服務架構如圖:

億級Web系統搭建:單機到分布式集群

需要補充一下的是,上圖中上海節點和核心節點是同處于一個機房的,其他分散節點各自獨立機房。

國內有很多大型網游,都是大致遵循上述架構。它們會把數據量不大的用戶核心賬號等放在核心節點,而大部分的網游數據,例如裝備、任務等數據和服務放在地區節點里。當然,核心節點和地域節點之間,也有緩存機制。

二、 節點容災和過載保護

節點容災是指,某個節點如果發生故障時,我們需要建立一個機制去保證服務仍然可用。毫無疑問,這里比較常見的容災方式,是切換到附近城市節點。假如系統的天津節點發生故障,那么我們就將網絡流量切換到附近的北京節點上??紤]到負載均衡,可能需要同時將流量切換到附近的幾個地域節點。另一方面,核心節點自身也是需要自己做好容災和備份的,核心節點一旦故障,就會影響全國服務。

過載保護,指的是一個節點已經達到最大容量,無法繼續接接受更多請求了,系統必須有一個保護的機制。一個服務已經滿負載,還繼續接受新的請求,結果很可能就是宕機,影響整個節點的服務,為了至少保障大部分用戶的正常使用,過載保護是必要的。

解決過載保護,一般2個方向:

  • 拒絕服務,檢測到滿負載之后,就不再接受新的連接請求。例如網游登入中的排隊。
  • 分流到其他節點。這種的話,系統實現更為復雜,又涉及到負載均衡的問題。

小結

Web系統會隨著訪問規模的增長,漸漸地從1臺服務器可以滿足需求,一直成長為“龐然大物”的大集群。而這個Web系統變大的過程,實際上就是我們解決問題的過程。在不同的階段,解決不同的問題,而新的問題又誕生在舊的解決方案之上。

系統的優化是沒有極限的,軟件和系統架構也一直在快速發展,新的方案解決了老的問題,同時也帶來新的挑戰。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2017-08-10 10:17:32

Hadoop分布式搭建

2023-04-26 08:01:09

分布式編譯系統

2012-06-06 09:30:07

2012-06-06 11:29:15

2013-07-23 10:24:00

2022-06-14 15:28:37

數據庫存儲系統變革趨勢

2021-02-24 16:17:18

架構運維技術

2013-03-22 15:55:22

Web架構架構

2020-11-10 09:30:48

分布式架構系統

2023-05-29 14:07:00

Zuul網關系統

2012-02-23 09:59:05

Hadoop分布式應用

2023-05-12 08:23:03

分布式系統網絡

2017-12-07 15:24:10

Hadoop大數據服務器

2017-10-27 08:40:44

分布式存儲剪枝系統

2023-10-26 18:10:43

分布式并行技術系統

2013-07-12 10:06:35

2023-02-11 00:04:17

分布式系統安全

2024-06-12 09:06:48

2014-06-24 15:24:52

Moosefs分布式集群

2017-09-11 15:17:01

分布式集群負載均衡
點贊
收藏

51CTO技術棧公眾號

国产无遮挡裸体免费视频| 国产性生交xxxxx免费| www.久久综合| 一本色道久久综合| 国产一区二区三区在线免费观看| 亚洲色图 在线视频| 爆操欧美美女| 久久综合九色综合97婷婷| 国产精品吹潮在线观看| 免费一级全黄少妇性色生活片| 欧美中文一区| 欧美一级日韩不卡播放免费| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 国产调教视频在线观看| 久久综合九色综合欧美就去吻| 亚洲aⅴ男人的天堂在线观看| 麻豆久久久久久久久久| 中文字幕一区二区三区在线视频 | 欧美日韩一道本| 毛片在线不卡| 久久久久久久综合狠狠综合| 91久久爱成人| 亚洲天堂网在线视频| 国产情侣一区| 美女少妇精品视频| 我想看黄色大片| 欧美一性一交| 精品国产乱码久久久久久浪潮| 奇米影音第四色| 裤袜国产欧美精品一区| 香蕉乱码成人久久天堂爱免费| 在线丝袜欧美日韩制服| 黄色片在线播放| 91丝袜高跟美女视频| 91香蕉视频在线下载| 一本大道伊人av久久综合| 亚洲免费网址| 午夜精品国产精品大乳美女| a级黄色片免费看| 我不卡伦不卡影院| 中文字幕日韩精品在线| aaaaa一级片| 天天躁日日躁成人字幕aⅴ| 日韩午夜在线观看视频| 欧美视频国产视频| 亚洲二区av| 在线电影欧美成精品| av无码精品一区二区三区| 美女一区网站| 色综合天天在线| 久草资源站在线观看| 一本大道色婷婷在线| 精品女同一区二区三区在线播放| 自拍日韩亚洲一区在线| 678在线观看视频| 亚洲3atv精品一区二区三区| 男人天堂手机在线视频| 波多野结衣在线播放| 亚洲不卡av一区二区三区| 欧洲精品一区二区三区久久| 波多野在线观看| 精品欧美一区二区三区| 国产xxxxx在线观看| 成人激情综合| 在线日韩国产精品| 亚洲综合欧美在线| 欧美三级电影网址| 91精品国产色综合久久ai换脸| 日韩av影视大全| 成人黄色一级大片| 竹内纱里奈兽皇系列在线观看 | av网站中文字幕| av不卡在线| 国产精品黄页免费高清在线观看| 中文区中文字幕免费看| 精彩视频一区二区三区| 91亚洲va在线va天堂va国| 国产99视频在线| 成人手机电影网| 欧美日韩精品一区| 97电影在线| 亚洲精品乱码久久久久久久久| 国产精品视频二| 午夜不卡影院| 欧美精品在线观看播放| 91成人在线观看喷潮蘑菇| 欧美一区 二区| 色偷偷av亚洲男人的天堂| 免费麻豆国产一区二区三区四区| 尤物网精品视频| 国产激情999| 国产富婆一级全黄大片| 91丨九色丨黑人外教| 亚洲精品日韩精品| av人人综合网| 欧美日韩亚洲另类| 亚洲无人区码一码二码三码| 国产精品手机在线播放| 欧美成人精品在线视频| 亚洲另类欧美日韩| 国产在线精品一区二区三区不卡| 国语精品免费视频| 日本韩国在线视频爽| 亚洲v中文字幕| 一区二区免费av| 夜夜春成人影院| 欧美激情视频在线免费观看 欧美视频免费一 | 国产欧美日韩免费观看| 欧美成人手机在线| 免费黄色片视频| 不卡一区二区三区四区| 亚洲一区三区电影在线观看| 僵尸再翻生在线观看免费国语| 欧美日韩亚洲综合在线 | 亚洲va欧美va人人爽| 欧美一级裸体视频| 红杏aⅴ成人免费视频| 色婷婷av一区二区三区久久| 中文字字幕在线中文| 国产精品66部| 正在播放一区二区三区| 澳门成人av网| 亚洲精品国产综合久久| 日韩欧美中文字幕视频| 精品一区二区三区在线视频| 热re99久久精品国99热蜜月| sm久久捆绑调教精品一区| 欧美一区二区三区系列电影| 久久久99999| 美女视频一区在线观看| 蜜桃久久精品乱码一区二区| 女囚岛在线观看| 91麻豆精品国产综合久久久久久 | 黄色福利在线观看| 亚洲免费观看高清完整| 国产3p在线播放| 久久资源中文字幕| 国产精品免费一区二区三区都可以| 性插视频在线观看| 精品久久久久久久久久ntr影视 | 亚洲精品a区| 欧美成年人在线观看| 国产普通话bbwbbwbbw| 国产精品毛片久久久久久久| 少妇激情一区二区三区| 国产一卡不卡| 国产精品久久久久99| 国产网站在线播放| 在线亚洲欧美专区二区| 国产手机在线观看| 奇米色一区二区| 亚洲精品国产系列| 亚洲欧美专区| 欧美精品少妇videofree| 国产毛片久久久久| 一区二区在线观看不卡| 色欲无码人妻久久精品| 午夜久久99| 国产免费一区二区| 伊人网在线播放| 夜夜嗨av一区二区三区四区| 中文字幕+乱码+中文字幕明步 | 亚洲精品影院| 日韩精品一级毛片在线播放| 久久影院免费观看| 亚洲精品久久久久久久久久久久久久 | 日韩亚洲欧美中文三级| 久久精品99久久久久久| 成人av网址在线观看| www.玖玖玖| 欧美美女一区| 91在线视频九色| 日本无删减在线| 日韩国产在线看| 波多野结衣理论片| 亚洲欧美一区二区久久| 黄色性视频网站| 久久在线91| 国产成年人在线观看| 视频一区视频二区欧美| 欧美一级在线播放| 日本视频不卡| 亚洲精品99999| 伊人久久一区二区| 亚洲一二三专区| 精品人妻互换一区二区三区| 美女在线视频一区| www国产免费| 精品一区在线| 91视频国产一区| 午夜久久中文| 久久国产精品网站| 男同在线观看| 欧美一区二区在线观看| 国产三级av片| 亚洲视频中文字幕| 中文字幕狠狠干| 国产老肥熟一区二区三区| 啊啊啊一区二区| 91精品高清| 欧美日本韩国国产| 日韩激情精品| 国产精品久久久亚洲| 狂野欧美激情性xxxx欧美| 一本久久综合亚洲鲁鲁| 免费av一级片| 91精品国产综合久久久久| 日韩一区二区视频在线| 亚洲免费观看高清| 免费看91的网站| 成人高清伦理免费影院在线观看| www午夜视频| 国产欧美日韩一级| 日韩专区第三页| 亚欧美无遮挡hd高清在线视频| 久久另类ts人妖一区二区| 视频免费一区二区| 91精品久久久久久久久久久久久| 一个人www视频在线免费观看| 欧美激情视频网| 在线免费观看的av| 中文一区二区视频| 欧美xxx.com| 亚洲国产成人精品久久| www.四虎在线观看| 欧美疯狂性受xxxxx喷水图片| 免费看污视频的网站| 精品福利视频导航| 国产一级一片免费播放放a| 综合分类小说区另类春色亚洲小说欧美| 一级黄色片大全| 99re这里只有精品6| yjizz视频| 成人性生交大片免费看视频在线| 中文字幕12页| 精品一区在线看| 久热在线视频观看| 美女爽到高潮91| 9l视频白拍9色9l视频| 日韩在线卡一卡二| 日韩在线第三页| 日韩精品一二三四| chinese少妇国语对白| 日韩中文欧美在线| 一级黄色香蕉视频| 奇米精品一区二区三区在线观看一 | 国产第一页精品| 中文字幕精品一区二区精品绿巨人 | 91久久精品国产91性色69| 在线免费视频一区二区| 91porny九色| 欧美日韩久久一区| 国产精品人人妻人人爽| 91精品国产手机| www日本在线| 亚洲精品成人av| 青青国产在线| 一个人看的www久久| 在线毛片网站| 久久精品亚洲国产| 天使と恶魔の榨精在线播放| 久久久久五月天| 麻豆mv在线观看| 国产精品88a∨| 精品乱码一区二区三区四区| 91在线视频精品| 久久精品国产亚洲blacked| 精品一区二区三区视频日产| 国产精品美女久久久久久不卡 | 国产精品theporn88| 精品国产一区二区三区不卡蜜臂| 蜜桃精品久久久久久久免费影院 | 国产人妻777人伦精品hd| 亚洲一区不卡| 国产原创精品在线| 懂色av中文一区二区三区| 亚洲av无码一区二区三区观看| 国产亚洲精品bt天堂精选| 午夜精品久久久久99蜜桃最新版| 一区二区三区在线影院| 免费黄色网址在线| 欧美日韩在线播放一区| 亚洲男女视频在线观看| 亚洲三级免费看| 污视频网站免费在线观看| 国产91精品视频在线观看| 99欧美精品| 高清不卡日本v二区在线| 久久不见久久见免费视频7| 亚洲一区二区三区精品在线观看| 欧美日韩久久| 欧美伦理片在线观看| 国产suv精品一区二区6| 亚洲精品成人av久久| 亚洲影视资源网| 欧美性受xxx黑人xyx性爽| 精品欧美一区二区在线观看| 草草影院在线观看| 久久久久久久久久久久久久久久久久av| 亚洲成人激情社区| 国产乱码精品一区二区三区日韩精品 | av在线免费观看国产| 日韩精品一级中文字幕精品视频免费观看| 中文字幕乱妇无码av在线| 国产人成一区二区三区影院| 久久精品第一页| 91麻豆精品国产综合久久久久久| 天堂在线免费av| 亚洲国产精品激情在线观看| 欧美老熟妇一区二区三区| 色综合久久中文字幕综合网 | 亚洲免费av网址| 51xtv成人影院| 国产精品久久久精品| av在线电影网| 亚洲欧美在线视频| 中文字幕在线观看视频网站| 欧美一区午夜视频在线观看| 欧美捆绑视频| 久久男人的天堂| 警花av一区二区三区 | 午夜欧美在线| 亚洲天堂av线| 91欧美一区二区| 久久精品国产亚洲AV无码男同| 欧美性感一区二区三区| 视频在线不卡| 97激碰免费视频| 99久久人爽人人添人人澡| 成年人黄色在线观看| 日本三级亚洲精品| 久久久久久国产精品无码| 亚洲v日本v欧美v久久精品| www.成人免费视频| 久久成人综合视频| 成人97精品毛片免费看| 亚洲自拍偷拍二区| 麻豆中文一区二区| 欧美a在线播放| 欧美探花视频资源| 91网页在线观看| 国产精品91久久久久久| 国内精品久久久久久99蜜桃| 亚洲国产精品久久久久爰色欲| av激情综合网| 亚洲免费在线观看av| 日韩电影中文字幕在线| 无码小电影在线观看网站免费| 久久精品中文字幕一区二区三区 | 欧美影院在线播放| 免费看成人人体视频| 黄色av网址在线播放| 92精品国产成人观看免费| 天天综合天天干| 亚洲精品按摩视频| 成人爱爱网址| 日韩欧美视频一区二区三区四区| 日韩精品五月天| 狂野欧美性猛交| 884aa四虎影成人精品一区| 性xxxxfjsxxxxx欧美| 国产精品区免费视频| 亚洲精品国产日韩| 久久精品一区二区免费播放 | 日韩av理论片| av伊人久久| 国产亚洲色婷婷久久| 五月婷婷综合在线| 国产一级片在线| 亚洲国产精品一区二区久久恐怖片| 黑人操日本美女| 日韩免费观看高清完整版在线观看| 国产羞羞视频在线播放| 久草一区二区| 秋霞成人午夜伦在线观看| 韩国一级黄色录像| 欧美大胆人体bbbb| 色吧亚洲日本| 亚洲精品中文综合第一页| 国产麻豆精品95视频| 国产乡下妇女做爰视频| 亚洲情综合五月天| 91视频亚洲| 日本韩国欧美在线观看| 国产欧美日韩精品一区| 99在线小视频| 欧美在线视频观看| 亚洲国产老妈| 亚洲第一黄色网址| 欧美精品日韩一本| 欧美13videosex性极品| 一区二区三区四区| youjizz国产精品| 亚洲图片视频小说| 久久乐国产精品| 日韩成人激情| 日韩aaaaa| 7777精品伊人久久久大香线蕉完整版| 成人免费网站观看| 亚洲第一页在线视频|