日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于KV存储的一些总结更新中

發布時間:2024/3/7 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于KV存储的一些总结更新中 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

KV 數據庫

?數據存儲,存儲的數據主要分兩種:結構數據(關系表),非結構數據(大文件,雜數據)。

分布式存儲系統

1、分布式文件系統:存儲文本,圖片,音視頻等非結構化數據。如google的GFS/和開源的hdfs。

2、分布式鍵值系統:存儲簡單的半結構化數據。NoSql的分布式擴展,只提供基于key的增刪改查功能。

3、分布式表格系統:存儲復雜的半結構化數據。相較于分布式kv系統,他還支持基于key的范圍查找。但相對于關系型數據庫,他不支持復雜的操作,如多表關聯,嵌套查詢。典型的系統如google的bigtable和開源的hbase。

4、分布式數據庫:存儲結構化數據。分布式的關系型數據庫。提供SQL關系查詢語言。如:google的spanner和開源的hive。

單機存儲引擎

目前主要的單機存儲引擎有:

1、哈希存儲:hash的CRUD是最快的。但缺點是不支持順序掃描。bitcask是一個基于hash表結構的存儲系統。他將寫操作(包括刪除標識)追加到文件尾。并定期合并新老文件&記錄。

2、B樹:既支持隨機讀取又支持范圍查找的系統。查找時間復雜度為log(d(n))(d為每個節點的出度)。Mysql的InnoDB的引擎和OS的文件系統使用的就是B+樹。(為什么選擇使用B樹的變種B+樹,讀者有興趣可以去探究下。提示:磁盤讀取)

3、LSM樹(Log Structured Merge Tree):由B+數改進而來。其思想為:將增量寫操作保存在內存中,超過閾值時刷入磁盤,從而減少隨機寫磁盤操作。讀操作則需要合并磁盤數據和內存中的寫操作。通過Memtable/SSTable實現,比較適合寫操作較多的業務場景。BigTable/HBase/Cassandra中的列簇的數據存儲方式采用的即是LSM樹。

RocksDB

RocksDB相對傳統的關系數據庫采用了LSM樹存儲引擎。RocksDB的主要設計目標是保證存取快速存儲器和高負載服務器更高效,保證充分利用Flash或RAM子系統提供的高速率讀寫,支持高效的查找和范圍scan,支持高負載的隨機讀、高負載的更新操作或兩者的結合。其架構應該支持高并發讀寫和容量大增時系統的一致性。

RocksDB是一個嵌入式鍵值存儲器,其中鍵和值是任意的字節流。RocksDB中的所有數據是按序存放的。常見操作包括Get(key), Put(key), Delete(key) and Scan(key)。 RocksDB有三個基本結構:RocksDB memtable,sstfile和logfile。memtable是一個內存數據結構——新數據會插入到memtable和日志文件(可選)。日志文件是 順序寫入的,位于磁盤。當memtable寫滿后,數據會被刷新到磁盤上的sstfile文件,同時相應的日志文件可以安全地刪除。sstfile中的數據經過排序的,目的 是為了加快鍵查找。

分布式鍵值系統:由多個RocksDB構成的分布式鍵值系統

元信息節點Meta Server、存儲節點Node Server及Client。Meta負責元信息的維護、Node的存活檢測及元信息分發;Node負責實際的數據存儲;Client的首次訪問需要先從Meta獲得當前集群的完整數據分布信息,對每個用戶請求計算正確的Node位置,并發起直接請求。

為了減輕上面提到的中心節點的單點問題。我們采取了如下策略:

  • Meta Server以集群的方式提供服務,之間以一致性算法來保證數據正確。
  • 良好的Meta設計:包括一致性數據的延遲提交;通過Lease讓Follower分擔讀請求;粗粒度的分布式鎖實現;合理的持久化及臨時數據劃分等。
  • 智能Client:Client承擔更多的責任,比如緩存元信息;維護到Node Server的鏈接;計算數據分布的初始及變化。
  • Node Server分擔更多責任:如元信息更新由存儲節點發起;通過MOVE,WAIT等信息,實現元信息變化時的客戶端請求重定向,減輕Meta壓力。

KV 存儲發展歷程

  我們第一代的分布式 KV 存儲如下圖左側的架構所示。在客戶端內做一致性哈希,在后端部署很多的 Memcached 實例,這樣就實現了最基本的 KV 存儲分布式設計。但這樣的設計存在很明顯的問題:比如在宕機摘除節點時,會丟數據,緩存空間不夠需要擴容,一致性哈希也會丟失一些數據等等,這樣會給業務開發帶來的很多困擾。

  隨著 Redis 項目的成熟,我們也引入了 Redis 來解決我們上面提到的問題,進而演進出來如上圖右側這樣一個架構。大家可以看到,客戶端還是一樣,采用了一致性哈希算法,服務器端變成了 Redis 組成的主從結構。當任何一個節點宕機,我們可以通過 Redis 哨兵完成 Failover,實現高可用。但有一個問題還是沒有解決,如果擴縮容的話,一致性哈希仍然會丟數據,那么這個問題該如何解決呢?

?  這個時候,我們發現有了一個比較成熟的 KV 存儲開源項目:阿里 Tair 。于是,我們引入了 Tair 來滿足業務 KV 存儲方面的需求。Tair 開源版本的架構主要分成三部分:上圖下邊是存儲節點,存儲節點會上報心跳到它的中心節點,中心節點內部有兩個配置管理節點,會監控所有的存儲節點。當有任何存儲節點宕機或者擴容時,它會做集群拓撲的重新構建。當客戶端啟動時,它會直接從中心節點拉來一個路由表。這個路由表簡單來說就是一個集群的數據分布圖,客戶端根據路由表直接去存儲節點讀寫。針對之前 KV 的擴容丟數據問題,它也有數據遷移機制來保證數據的完整性。

  但是,我們在使用的過程中,還遇到了一些其他問題,比如中心節點雖然是主備高可用的,但實際上它沒有類似于分布式仲裁的機制,所以在網絡分割的情況下,它是有可能發生“腦裂”的,這個也給我們的業務造成過比較大的影響。另外,在容災擴容時,也遇到過數據遷移影響到業務可用性的問題。另外,我們之前用過 Redis ,業務會發現 Redis 的數據結構特別豐富,而 Tair 還不支持這些數據結構。雖然我們用 Tair 解決了一些問題,但是 Tair 也無法完全滿足業務需求。最終,我們決定在已應用的開源系統之上進行自研。

?  當redis官方發布了集群版本Redis Cluster,我們緊跟社區步伐,并結合內部需求做了很多開發工作,演進出了全內存、高吞吐、低延遲的 KV 存儲 Squirrel。另外,基于 Tair,我們還加入了很多自研的功能,演進出持久化、大容量、數據高可靠的 KV 存儲 Cellar 。因為 Tair 的開源版本已經有四五年沒有更新了,所以,Cellar 的迭代完全靠我們自研,而 Redis 社區一直很活躍。總的來說,Squirrel 的迭代是自研和社區并重,自研功能設計上也會盡量與官方架構進行兼容。后面大家可以看到,因為這些不同,Cellar 和 Squirrel 在解決同樣的問題時也選取了不同的設計方案。

  這兩個存儲其實都是 KV 存儲領域不同的解決方案。在實際應用上,如果業務的數據量小,對延遲敏感,我們建議大家用 Squirrel ;如果數據量大,對延遲不是特別敏感,我們建議用成本更低的 Cellar 。目前這兩套 KV 存儲系統在我們公司內部每天的調用量均已突破萬億,它們的請求峰值也都突破了每秒億級。

二、內存 KV Squirrel 架構和實踐

  在開始之前,本文先介紹兩個存儲系統共通的地方。比如分布式存儲的經典問題:數據是如何分布的?這個問題在 KV 存儲領域,就是 Key 是怎么分布到存儲節點上的。這里 Squirrel 跟 Cellar 是一樣的。當我們拿到一個 Key 后,用固定的哈希算法拿到一個哈希值,然后將哈希值對 Slot 數目取模得到一個Slot id,我們兩個 KV 現在都是預分片16384個 Slot 。得到 Slot id 之后,再根據路由表就能查到這個 Slot 存儲在哪個存儲節點上。這個路由表簡單來說就是一個 Slot 到存儲節點的對照表。

?  接下來講一下對高可用架構的認知,個人認為高可用可以從宏觀和微觀兩個角度來看。從宏觀的角度來看,高可用就是指容災怎么做。比如說掛掉了一個節點,你該怎么做?一個機房或者說某個地域的一批機房宕機了,你該怎么做?而從微觀的角度看,高可用就是怎么能保證端到端的高成功率。我們在做一些運維升級或者擴縮容數據遷移的時候,能否做到業務請求的高可用?本文也會從宏觀和微觀兩個角度來分享我們做的一些高可用工作。

?  上圖就是我們的 Squirrel 架構。中間部分跟 Redis 官方集群是一致的。它有主從的結構, Redis 實例之間通過 Gossip 協議去通信。我們在右邊添加了一個集群調度平臺,包含調度服務、擴縮容服務和高可用服務等,它會去管理整個集群,把管理結果作為元數據更新到 ZooKeeper。我們的客戶端會訂閱 ZooKeeper 上的元數據變更,實時獲取到集群的拓撲狀態,直接在 Redis 集群進行讀寫操作。

2.1、Squirrel 節點容災

  然后再看一下 Squirrel 容災怎么做。對于 Redis 集群而言,節點宕機已經有完備的處理機制了。官方提供的方案,任何一個節點從宕機到被標記為 FAIL 摘除,一般需要經過 30 秒。主庫的摘除可能會影響數據的完整性,所以,我們需要謹慎一些。但是對于從庫呢?我們認為這個過程完全沒必要。另一點,我們都知道內存的 KV 存儲數據量一般都比較小。對于業務量很大的公司來說,它往往會有很多的集群。如果發生交換機故障,會影響到很多的集群,宕機之后去補副本就會變得非常麻煩。為了解決這兩個問題,我們做了 HA 高可用服務。

  它的架構如下圖所示,它會實時監控集群的所有節點。不管是網絡抖動,還是發生了宕機(比如說 Redis 2 ),它可以實時更新 ZooKeeper ,告訴 ZooKeeper 去摘除 Redis 2 ,客戶端收到消息后,讀流量就直接路由到 Redis 3上。如果 Redis 2 只是幾十秒的網絡抖動,過幾十秒之后,如果 HA 節點監控到它恢復后,會把它重新加回。

?  如果過了一段時間,HA 判斷它屬于一個永久性的宕機,HA 節點會直接從 Kubernetes 集群申請一個新的 Redis 4 容器實例,把它加到集群里。此時,拓撲結構又變成了一主兩從的標準結構,HA 節點更新完集群拓撲之后,就會去寫 ZooKeeper 通知客戶端去更新路由,客戶端就能到 Redis 4 這個新從庫上進行讀操作。

?  通過上述方案,我們把從庫的摘除時間從 30 秒降低到了 5 秒。另外,我們通過 HA 自動申請容器實例加入集群的方式,把宕機補副本變成了一個分鐘級的自動操作,不需要任何人工的介入。

2.2、Squirrel 跨地域容災

  我們解決了單節點宕機的問題,那么跨地域問題如何解決呢?我們首先來看下跨地域有什么不同。第一,相對于同地域機房間的網絡而言,跨地域專線很不穩定;第二,跨地域專線的帶寬是非常有限且昂貴的。而集群內的復制沒有考慮極端的網絡環境。假如我們把主庫部署到北京,兩個從庫部署在上海,同樣一份數據要在北上專線傳輸兩次,這樣會造成巨大的專線帶寬浪費。另外,隨著業務的發展和演進,我們也在做單元化部署和異地多活架構。用官方的主從同步,滿足不了我們的這些需求。基于此,我們又做了集群間的復制方案。

?  如上圖所示,這里畫出了北京的主集群以及上海的從集群,我們要做的是通過集群同步服務,把北京主集群的數據同步到上海從集群上。按照流程,首先要向我們的同步調度模塊下發“在兩個集群間建立同步鏈路”的任務,同步調度模塊會根據主從集群的拓撲結構,把主從集群間的同步任務下發到同步集群,同步集群收到同步任務后會扮成 Redis 的 Slave,通過 Redis 的復制協議,從主集群上的從庫拉取數據,包括 RDB以及后續的增量變更。同步機收到數據后會把它轉成客戶端的寫命令,寫到上海從集群的主節點里。

  通過這樣的方式,我們把北京主集群的數據同步到了上海的從集群。同樣的,我們要做異地多活也很簡單,再加一個反向的同步鏈路,就可以實現集群間的雙向同步。? 接下來我們講一下如何做好微觀角度的高可用,也就是保持端到端的高成功率。對于 Squirrel ,主要講如下三個影響成功率的問題:

  ①數據遷移造成超時抖動。?

  ②持久化造成超時抖動。?

  ③熱點 Key 請求導致單節點過載。

2.3、Squirrel 智能遷移

  對于數據遷移,我們主要遇到三個問題:

  ①?Redis Cluster 雖然提供了數據遷移能力,但是對于要遷哪些 Slot,Slot 從哪遷到哪,它并不管。

  ②做數據遷移的時候,大家都想越快越好,但是遷移速度過快又可能影響業務正常請求。

  ③Redis 的 Migrate 命令會阻塞工作線程,尤其在遷移大 Value 的時候會阻塞特別久。

  為了解決這些問題,我們做了全新的遷移服務。

?  下面我們按照工作流,講一下它是如何運行的。首先生成遷移任務,這步的核心是“就近原則”,比如說同機房的兩個節點做遷移肯定比跨機房的兩個節點快。遷移任務生成之后,會把任務下發到一批遷移機上。遷移機遷移的時候,有這樣幾個特點:

  1、會在集群內遷出節點間做并發,比如同時給 Redis 1、Redis 3 下發遷移命令。?

  2、每個 Migrate 命令會遷移一批 Key。?

  3、我們會用監控服務去實時采集客戶端的成功率、耗時,服務端的負載、QPS 等,之后把這個狀態反饋到遷移機上。遷移數據的過程就類似 TCP 慢啟動的過程,它會把速度一直往上加,若出現請求成功率下降等情況,它的速度就會降低,最終遷移速度會在動態平衡中穩定下來,這樣就達到了最快速的遷移,同時又盡可能小地影響業務的正常請求。

  接下來,我們看一下大 Value 的遷移,我們實現了一個異步 Migrate 命令,該命令執行時,Redis 的主線程會繼續處理其他的正常請求。如果此時有對正在遷移 Key 的寫請求過來,Redis 會直接返回錯誤。這樣最大限度保證了業務請求的正常處理,同時又不會阻塞主線程。

2.4、Squirrel 持久化重構

  Redis 主從同步時會生成 RDB。生成 RDB 的過程會調用 Fork 產生一個子進程去寫數據到硬盤,Fork 雖然有操作系統的 COW 機制,但是當內存用量達到 10 G 或 20 G 時,依然會造成整個進程接近秒級的阻塞。這對在線業務來說幾乎是無法接受的。我們也會為數據可靠性要求高的業務去開啟 AOF,而開 AOF 就可能因 IO 抖動造成進程阻塞,這也會影響請求成功率。對官方持久化機制的這兩個問題,我們的解決方案是重構持久化機制。

?  上圖是我們最新版的 Redis 持久化機制,寫請求會先寫到 DB 里,然后寫到內存 Backlog,這跟官方是一樣的。同時它會把請求發給異步線程,異步線程負責把變更刷到硬盤的 Backlog 里。當硬盤 Backlog 過多時,我們會主動在業務低峰期做一次 RDB ,然后把 RDB 之前生成的 Backlog 刪除。

  如果這時候我們要做主從同步,去尋找同步點的時候,該怎么辦?第一步還是跟官方一樣,我們會從內存 Backlog 里找有沒有要求的同步點,如果沒有,我們會去硬盤 Backlog 找同步點。由于硬盤空間很大,硬盤 Backlog 可以存儲特別多的數據,所以很少會出現找不到同步點的情況。如果硬盤 Backlog 也沒有,我們就會觸發一次類似于全量重傳的操作,但這里的全量重傳是不需要當場生成 RDB 的,它可以直接用硬盤已存的 RDB 及其之后的硬盤 Backlog 完成全量重傳。通過這個設計,我們減少了很多的全量重傳。

  如果這時候我們要做主從同步,去尋找同步點的時候,該怎么辦?第一步還是跟官方一樣,我們會從內存 Backlog 里找有沒有要求的同步點,如果沒有,我們會去硬盤 Backlog 找同步點。由于硬盤空間很大,硬盤 Backlog 可以存儲特別多的數據,所以很少會出現找不到同步點的情況。如果硬盤 Backlog 也沒有,我們就會觸發一次類似于全量重傳的操作,但這里的全量重傳是不需要當場生成 RDB 的,它可以直接用硬盤已存的 RDB 及其之后的硬盤 Backlog 完成全量重傳。通過這個設計,我們減少了很多的全量重傳。

2.5、Squirrel 熱點 Key

  下面看一下 Squirrel 的熱點 Key 解決方案。如下圖所示,普通主、從是一個正常集群中的節點,熱點主、從是游離于正常集群之外的節點。我們看一下它們之間怎么發生聯系。

?  當有請求進來讀寫普通節點時,節點內會同時做請求 Key 的統計。如果某個 Key 達到了一定的訪問量或者帶寬的占用量,會自動觸發流控以限制熱點 Key 訪問,防止節點被熱點請求打滿。同時,監控服務會周期性的去所有 Redis 實例上查詢統計到的熱點 Key。如果有熱點,監控服務會把熱點 Key 所在 Slot 上報到我們的遷移服務。遷移服務這時會把熱點主從節點加入到這個集群中,然后把熱點 Slot 遷移到這個熱點主從上。因為熱點主從上只有熱點 Slot 的請求,所以熱點 Key的處理能力得到了大幅提升。通過這樣的設計,我們可以做到實時的熱點監控,并及時通過流控去止損;通過熱點遷移,我們能做到自動的熱點隔離和快速的容量擴充。

三、持久化 KV Cellar 架構和實踐

  下面看一下持久化 KV Cellar 的架構和實踐。下圖是我們最新的 Cellar 架構圖。

?  跟阿里開源的 Tair 主要有兩個架構上的不同。第一個是OB,第二個是 ZooKeeper。我們的 OB 跟 ZooKeeper 的 Observer 是類似的作用,提供 Cellar 中心節點元數據的查詢服務。它可以實時與中心節點的 Master 同步最新的路由表,客戶端的路由表都是從 OB 去拿。這樣做的好處主要有兩點,第一,把大量的業務客戶端跟集群的大腦 Master 做了天然的隔離,防止路由表請求影響集群的管理。第二,因為 OB 只供路由表查詢,不參與集群的管理,所以它可以進行水平擴展,極大地提升了我們路由表的查詢能力。另外,我們引入了 ZooKeeper 做分布式仲裁,解決我剛才提到的 Master、Slave 在網絡分割情況下的“腦裂”問題,并且通過把集群的元數據存儲到 ZooKeeper,我們保證了元數據的高可靠。

3.1、Cellar 節點容災

  介紹完整體的架構,我們看一下 Cellar 怎么做節點容災。一個集群節點的宕機一般是臨時的,一個節點的網絡抖動也是臨時的,它們會很快地恢復,并重新加入集群。因為節點的臨時離開就把它徹底摘除,并做數據副本補全操作,會消耗大量資源,進而影響到業務請求。所以,我們實現了 Handoff 機制來解決這種節點短時故障帶來的影響。

?  如上圖所示 ,如果 A 節點宕機了,會觸發 Handoff 機制,這時候中心節點會通知客戶端 A節點發生了故障,讓客戶端把分片 1 的請求也打到 B 上。B 節點正常處理完客戶端的讀寫請求之后,還會把本應該寫入 A 節點的分片 1&2 數據寫入到本地的 Log 中。

?  如果 A 節點宕機后 3~5 分鐘,或者網絡抖動 30~50 秒之后恢復了,A 節點就會上報心跳到中心節點,中心節點就會通知 B 節點:“ A 節點恢復了,你去把它不在期間的數據傳給它。”這時候,B 節點就會把本地存儲的 Log 回寫到 A 節點上。等到 A 節點擁有了故障期間的全量數據之后,中心節點就會告訴客戶端,A 節點已經徹底恢復了,客戶端就可以重新把分片 1 的請求打回 A 節點。

?  通過這樣的操作,我們可以做到秒級的快速節點摘除,而且節點恢復后加回,只需補齊少量的增量數據。另外如果 A 節點要做升級,中心節點先通過主動 Handoff 把 A 節點流量切到 B 節點,A 升級后再回寫增量 Log,然后切回流量加入集群。這樣通過主動觸發 Handoff 機制,我們就實現了靜默升級的功能。

3.2、Cellar 跨地域容災

  下面我介紹一下 Cellar 跨地域容災是怎么做的。Cellar 跟 Squirrel 面對的跨地域容災問題是一樣的,解決方案同樣也是集群間復制。以下圖一個北京主集群、上海從集群的跨地域場景為例,比如說客戶端的寫操作到了北京的主集群 A 節點,A 節點會像正常集群內復制一樣,把它復制到 B 和 D 節點上。同時 A 節點還會把數據復制一份到從集群的 H 節點。H 節點處理完集群間復制寫入之后,它也會做從集群內的復制,把這個寫操作復制到從集群的 I 、K 節點上。通過在主從集群的節點間建立這樣一個復制鏈路,我們完成了集群間的數據復制,并且這個復制保證了最低的跨地域帶寬占用。同樣的,集群間的兩個節點通過配置兩個雙向復制的鏈路,就可以達到雙向同步異地多活的效果。

?3.3、Cellar 強一致

  我們做好了節點容災以及跨地域容災后,業務又對我們提出了更高要求:強一致存儲。我們之前的數據復制是異步的,在做故障摘除時,可能因為故障節點數據還沒復制出來,導致數據丟失。但是對于金融支付等場景來說,它們是不容許數據丟失的。面對這個難題,我們該怎么解決?目前業界主流的解決方案是基于 Paxos 或 Raft 協議的強一致復制。我們最終選擇了 Raft 協議。主要是因為 Raft 論文是非常詳實的,是一篇工程化程度很高的論文。業界也有不少比較成熟的 Raft 開源實現,可以作為我們研發的基礎,進而能夠縮短研發周期。

  下圖是現在 Cellar 集群 Raft 復制模式下的架構圖,中心節點會做 Raft 組的調度,它會決定每一個 Slot 的三副本存在哪些節點上。

?  大家可以看到 Slot 1 在存儲節點 1、2、4 上,Slot 2 在存儲節點2、3、4上。每個 Slot 組成一個 Raft 組,客戶端會去 Raft Leader 上進行讀寫。由于我們是預分配了 16384 個 Slot,所以,在集群規模很小的時候,我們的存儲節點上可能會有數百甚至上千個 Slot 。

  這時候如果每個 Raft 復制組都有自己的復制線程、 復制請求和 Log等,那么資源消耗會非常大,寫入性能會很差。所以我們做了 Multi Raft 實現, Cellar 會把同一個節點上所有的 Raft 復制組寫一份 Log,用同一組線程去做復制,不同 Raft 組間的復制包也會按照目標節點做整合,以保證寫入性能不會因 Raft 組過多而變差。Raft 內部其實是有自己的選主機制,它可以控制自己的主節點,如果有任何節點宕機,它可以通過選舉機制選出新的主節點。

  那么,中心節點是不是就不需要管理 Raft 組了嗎?不是的。這里講一個典型的場景,如果一個集群的部分節點經過幾輪宕機恢復的過程, Raft Leader 在存儲節點之間會變得極其不均。而為了保證數據的強一致,客戶端的讀寫流量又必須發到 Raft Leader,這時候集群的節點流量會很不均衡。所以我們的中心節點還會做 Raft 組的 Leader 調度。比如說 Slot 1 存儲在節點 1、2、4,并且節點 1 是 Leader。如果節點 1 掛了,Raft 把節點 2 選成了 Leader。然后節點 1 恢復了并重新加入集群,中心節點這時會讓節點 2 把 Leader 還給節點 1 。這樣,即便經過一系列宕機和恢復,我們存儲節點之間的 Leader 數目仍然能保證是均衡的。

  接下來,我們看一下 Cellar 如何保證它的端到端高成功率。這里也講三個影響成功率的問題。Cellar 遇到的數據遷移和熱點 Key 問題與 Squirrel 是一樣的,但解決方案不一樣。這是因為 Cellar 走的是自研路徑,不用考慮與官方版本的兼容性,對架構改動更大些。另一個問題是慢請求阻塞服務隊列導致大面積超時,這是 Cellar 網絡、工作多線程模型設計下會遇到的不同問題。

3.4、Cellar 智能遷移  

?  上圖是 Cellar 智能遷移架構圖。我們把桶的遷移分成了三個狀態。第一個狀態就是正常的狀態,沒有任何遷移。如果這時候要把 Slot 2 從 A 節點遷移到 B節點,A 會給 Slot 2 打一個快照,然后把這個快照全量發到 B 節點上。在遷移數據的時候, B 節點的回包會帶回 B 節點的狀態。B 的狀態包括什么?引擎的壓力、網卡流量、隊列長度等。A 節點會根據 B 節點的狀態調整自己的遷移速度。像 Squirrel 一樣,它經過一段時間調整后,遷移速度會達到一個動態平衡,達到最快速的遷移,同時又盡可能小地影響業務的正常請求。

  當 Slot 2 遷移完后, 會進入圖中 Slot 3 的狀態。客戶端這時可能還沒更新路由表,當它請求到了 A 節點,A 節點會發現客戶端請求錯了節點,但它不會返回錯誤,它會把請求代理到 B 節點上,然后把 B 的響應包再返回客戶端。同時它會告訴客戶端,需要更新一下路由表了,此后客戶端就能直接訪問到 B 節點。這樣就解決了客戶端路由更新延遲造成的請求錯誤。

3.5、Cellar 快慢列隊

  下圖上方是一個標準的線程隊列模型。網絡線程池接收網絡流量解析出請求包,然后把請求放到工作隊列里,工作線程池會從工作隊列取請求來處理,然后把響應包放回網絡線程池發出。

?  我們分析線上發生的超時案例時發現,一批超時請求當中往往只有一兩個請求是引擎處理慢導致的,大部分請求,只是因為在隊列等待過久導致整體響應時間過長而超時了。從線上分析來看,真正的慢請求占超時請求的比例只有 1/20。

  我們的解法是什么樣?很簡單,拆線程池、拆隊列。我們的網絡線程在收到包之后,會根據它的請求特點,是讀還是寫,快還是慢,分到四個隊列里。讀寫請求比較好區分,但快慢怎么分開?我們會根據請求的 Key 個數、Value大小、數據結構元素數等對請求進行快慢區分。然后用對應的四個工作線程池處理對應隊列的請求,就實現了快慢讀寫請求的隔離。這樣如果我有一個讀的慢請求,不會影響另外三種請求的正常處理。不過這樣也會帶來一個問題,我們的線程池從一個變成四個,那線程數是不是變成原來的四倍?其實并不是的,我們某個線程池空閑的時候會去幫助其它的線程池處理請求。所以,我們線程池變成了四個,但是線程總數并沒有變。我們線上驗證中這樣的設計能把服務 TP999 的延遲降低 86%,可大幅降低超時率。

3.6、Cellar 熱點 Key

?  上圖是 Cellar 熱點 Key 解決方案的架構圖。我們可以看到中心節點加了一個職責,多了熱點區域管理,它現在不只負責正常的數據副本分布,還要管理熱點數據的分布,圖示這個集群在節點 C、D 放了熱點區域。我們通過讀寫流程看一下這個方案是怎么運轉的。如果客戶端有一個寫操作到了 A 節點,A 節點處理完成后,會根據實時的熱點統計結果判斷寫入的 Key 是否為熱點。

  如果這個 Key 是一個熱點,那么它會在做集群內復制的同時,還會把這個數據復制有熱點區域的節點,也就是圖中的 C、D 節點。同時,存儲節點在返回結果給客戶端時,會告訴客戶端,這個 Key 是熱點,這時客戶端內會緩存這個熱點 Key。當客戶端有這個 Key 的讀請求時,它就會直接去熱點區域做數據的讀取。通過這樣的方式,我們可以做到只對熱點數據做擴容,不像 Squirrel ,要把整個 Slot 遷出來做擴容。有必要的話,中心節點也可以把熱點區域放到集群的所有節點上,所有的熱點讀請求就能均衡的分到所有節點上。另外,通過這種實時的熱點數據復制,我們很好地解決了類似客戶端緩存熱點 KV 方案造成的一致性問題。

四、發展規劃和業界趨勢

  最后,一起來看看我們項目的規劃和業界的技術趨勢。這部分內容會按照服務、系統、硬件三層來進行闡述。首先在服務層,主要有三點:

  ①Redis Gossip 協議優化。大家都知道 Gossip 協議在集群的規模變大之后,消息量會劇增,它的 Failover 時間也會變得越來越長。所以當集群規模達到 TB 級后,集群的可用性會受到很大的影響,所以我們后面會重點在這方面做一些優化。

  ②我們已經在 Cellar 存儲節點的數據副本間做了 Raft 復制,可以保證數據強一致,后面我們會在 Cellar 的中心點內部也做一個 Raft 復制,這樣就不用依賴于 ZooKeeper 做分布式仲裁、元數據存儲了,我們的架構也會變得更加簡單、可靠。

  ③Squirrel 和 Cellar 雖然都是 KV 存儲,但是因為它們是基于不同的開源項目研發的,所以 API 和訪問協議不同,我們之后會考慮將 Squirrel 和 Cellar 在 SDK 層做整合,雖然后端會有不同的存儲集群,但業務側可以用一套 SDK 進行訪問。

  在系統層面,我們正在調研并去落地一些 Kernel Bypass 技術,像 DPDK、SPDK 這種網絡和硬盤的用戶態 IO 技術。它可以繞過內核,通過輪詢機制訪問這些設備,可以極大提升系統的 IO 能力。存儲作為 IO 密集型服務,性能會獲得大幅的提升。

  在硬件層面,像支持 RDMA 的智能網卡能大幅降低網絡延遲和提升吞吐;還有像 3D XPoint 這樣的閃存技術,比如英特爾新發布的 AEP 存儲,其訪問延遲已經比較接近內存了,以后閃存跟內存之間的界限也會變得越來越模糊;最后,看一下計算型硬件,比如通過在閃存上加 FPGA 卡,把原本應該 CPU 做的工作,像數據壓縮、解壓等,下沉到卡上執行,這種硬件能在解放 CPU 的同時,也可以降低服務的響應延遲。

  

  

  

  

  

  

  

  

分類:?java后端,?架構設計

總結

以上是生活随笔為你收集整理的关于KV存储的一些总结更新中的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

人人插人人看 | 97香蕉超级碰碰久久免费软件 | 在线观看免费91 | 国产色在线| 97视频免费在线观看 | 三级a视频| 久久久免费观看视频 | 久久久午夜影院 | 午夜av在线电影 | 久久久久综合视频 | 亚洲精品综合欧美二区变态 | 亚洲伊人网在线观看 | 91在线观看高清 | jizz999 | 色福利网站 | 国产精品免费久久久久影院仙踪林 | 久草青青在线观看 | 日韩免费中文 | 日本久久久久久科技有限公司 | 欧美精品乱码99久久影院 | 国产麻豆剧传媒免费观看 | 黄色三几片 | 一区二区三区 中文字幕 | 热久久免费视频精品 | 91在线播 | 久草精品电影 | 国产日韩欧美在线影视 | 在线国产精品视频 | 黄色免费在线视频 | 免费看三级黄色片 | 午夜av一区二区三区 | 新版资源中文在线观看 | 天天干天天干天天干 | 亚洲无人区小视频 | 免费看一及片 | 人人爽久久涩噜噜噜网站 | 欧美激情综合五月色丁香 | 成片人卡1卡2卡3手机免费看 | 在线观看中文字幕一区二区 | 中文字幕第一 | 久久伊人操 | 国产精品videossex国产高清 | 日韩激情片在线观看 | 中文字幕欧美日韩va免费视频 | 成人h视频 | 久久香蕉电影网 | 99精品久久久久久久 | 日韩精品一区电影 | 韩国一区二区三区视频 | 亚洲欧美日韩一区二区三区在线观看 | 成 人 黄 色视频免费播放 | 中文字幕在线观看91 | 日本中文在线 | 日一日操一操 | 久草在线视频国产 | 特级毛片网站 | 91久久国产精品 | 日日夜夜骑 | 久久久亚洲国产精品麻豆综合天堂 | 四虎精品成人免费网站 | 免费看成年人 | 丁香六月伊人 | 国产精品99免费看 | 丁香电影小说免费视频观看 | 欧美日韩视频一区二区 | 国产中文欧美日韩在线 | 91大神精品视频在线观看 | 亚洲精品国产高清 | 婷婷天天色 | 国产区欧美 | 黄色亚洲| 国产精品一区二区在线 | 超碰97人人在线 | 国产精品久久久久久久久久久久冷 | 日韩欧美一区二区不卡 | 亚洲日本激情 | 视频二区在线 | 三级a视频 | 亚洲日本一区二区在线 | 激情视频二区 | mm1313亚洲精品国产 | 综合伊人久久 | 亚洲精品免费在线播放 | 在线久久 | 欧美日韩中文字幕视频 | 欧美孕妇与黑人孕交 | 99视频在线精品国自产拍免费观看 | 久久99精品久久久久久秒播蜜臀 | 成人免费视频观看 | 国产精品久久久久久一区二区 | 久久免费视频在线观看30 | 久久久999免费视频 日韩网站在线 | 日韩视频在线一区 | 丁香五月缴情综合网 | 一区二区三区久久 | 亚洲国产中文字幕在线视频综合 | 午夜视频在线观看一区二区 | 伊人国产在线观看 | 天天伊人狠狠 | 99精品免费视频 | 国产不卡免费视频 | 国产精品网在线观看 | 国产精品1区2区 | 日本性xxx| 青青河边草免费直播 | 久久免费视频7 | 人人爽人人爽人人 | 亚洲精品国产成人av在线 | 在线观看日韩精品视频 | 国产高清视频免费在线观看 | 高清国产一区 | 国产成人免费高清 | 视频国产区 | 91精品在线麻豆 | 色在线高清 | 国产亚洲精品免费 | 99精品在线免费观看 | 久久九九久久九九 | 久久久精品在线观看 | 在线观影网站 | 欧美精品久久久久久久久久久 | 91麻豆精品国产自产在线 | 免费在线精品视频 | 久久99精品久久久久蜜臀 | 色网站在线| 欧美一二在线 | 九色精品免费永久在线 | 91网址在线观看 | 欧美一级片播放 | 亚洲综合色视频 | 国产欧美日韩精品一区二区免费 | 亚洲欧美少妇 | www天天干 | 天天躁日日躁狠狠躁av中文 | 久久精品人 | 国产第一福利 | 久久久国产网站 | 日韩黄色在线电影 | 精品在线免费观看 | 在线观看你懂的网站 | 91网址在线看 | 超碰97网站| 欧美大片在线看免费观看 | 九九九九九国产 | 亚洲一区二区三区在线看 | 97超碰总站 | 久久免费成人 | 91久久精| 人人干天天射 | 91在线蜜桃臀 | 婷婷激情av | 一区二区视频欧美 | 91精品1区2区| 中文字幕久久精品亚洲乱码 | 日韩av成人在线观看 | 中文字幕日本在线 | 99精品国产兔费观看久久99 | 免费观看全黄做爰大片国产 | 亚洲最大的av网站 | 国产精品入口麻豆 | 色综合久久中文字幕综合网 | 国产又粗又猛又色又黄视频 | 91福利视频在线 | 国产专区免费 | 国产老太婆免费交性大片 | 亚洲精色 | 中文字幕在线人 | 亚洲情感电影大片 | 日日夜夜精品免费观看 | 成人在线视频一区 | 欧美一级艳片视频免费观看 | 成人91av| 欧美一区视频 | 久久av影院 | 日韩精品高清不卡 | 香蕉色综合 | 国产精品免费久久久久久 | 91人人澡人人爽人人精品 | 亚洲精品视频网 | 一区在线观看 | 国产尤物一区二区三区 | 国产第一页福利影院 | 久久久国产一区二区三区 | 亚洲精品欧美专区 | 在线观看黄av | 精品国产精品国产偷麻豆 | 国产精品欧美在线 | 成人av电影在线 | 成人免费视频观看 | 九九爱免费视频 | 久草在线中文视频 | 最近免费中文字幕mv在线视频3 | 国产精品久久久久久久久久久久午夜 | 欧美日韩国产精品爽爽 | 亚洲第一区精品 | 日本精品午夜 | 国产精品成人av久久 | 性色av一区二区三区在线观看 | 丰满少妇一级片 | 国产又粗又硬又长又爽的视频 | 天天操月月操 | 欧美一级日韩免费不卡 | 久草9视频 | 99精品国产99久久久久久福利 | 免费在线看成人av | 欧美巨大| 国产分类视频 | 在线观看av小说 | 超碰在线97观看 | 天天干夜夜擦 | 97在线免费视频 | 成人黄色在线看 | 91片黄在线观看 | 免费观看的av网站 | 最近更新的中文字幕 | 蜜臀av麻豆| 日韩午夜在线观看 | 天天躁日日躁狠狠 | 久久免费电影网 | 在线小视频 | 一区二区日韩av | 九九热免费观看 | 免费成人短视频 | 97国产在线播放 | 婷婷色综合色 | 成人亚洲综合 | 婷婷色在线观看 | 在线播放亚洲激情 | 免费在线一区二区三区 | 九九在线视频免费观看 | 日韩在线视频观看免费 | 亚洲精品小区久久久久久 | 国产视频日韩视频欧美视频 | 五月婷婷丁香综合 | 在线91av | 一级精品视频在线观看宜春院 | 国产在线观看国语版免费 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 国内外成人在线 | 99久久久国产精品 | 国产一区免费 | 天天爽人人爽 | 91精品国产三级a在线观看 | 日日添夜夜添 | 久久精品中文字幕 | 久久电影网站中文字幕 | 天天要夜夜操 | 免费在线观看中文字幕 | 亚洲三级网站 | 欧美 激情 国产 91 在线 | 亚洲精品中文字幕在线 | av超碰在线| 免费视频黄色 | 国产99久久精品一区二区300 | 奇米导航| 天天干夜夜擦 | 18网站在线观看 | 99热国产在线中文 | 欧美日韩1区| 色婷久久 | 天天干天天在线 | 国产精品黄色 | 欧美激情视频免费看 | 中文永久免费观看 | 久久视频精品在线 | 色亚洲网 | 国产一区二区精品在线 | 一区国产精品 | 在线观看色网 | 麻豆影视在线播放 | 国产精品高潮久久av | 日日操操 | 亚洲精品视频免费观看 | 精品久久影院 | 欧美一区二区三区不卡 | 婷婷色在线视频 | 在线观看日韩专区 | 国产成人一区二区三区久久精品 | 久久综合亚洲鲁鲁五月久久 | 五月婷婷六月丁香在线观看 | 麻豆精品视频在线 | 国产精品视频在线观看 | 欧美片一区二区三区 | 久久久99久久 | av资源网在线播放 | 欧美日韩中文字幕视频 | 国产一区在线视频 | 国产精品欧美一区二区三区不卡 | 国产成人一区在线 | 日本不卡视频 | 欧美性生活大片 | 日韩国产精品一区 | 欧美在线观看小视频 | 成人黄色av免费在线观看 | 尤物97国产精品久久精品国产 | 国产黄在线观看 | 欧美国产日韩在线观看 | 日韩高清成人 | 在线免费三级 | 成 人 黄 色 视频播放1 | 国产精品99视频 | 在线观看www视频 | 玖玖综合网 | 日韩精品免费一区二区三区 | 国产精品99免费看 | 夜又临在线观看 | 亚洲精品国内 | 日韩精品在线视频 | 五月视频| 4438全国亚洲精品在线观看视频 | 色wwwww| 国产又粗又猛又爽 | 国产一区二区在线免费播放 | 国产一级在线观看 | 亚洲精品在线免费看 | 色婷婷av在线 | 精品国产精品一区二区夜夜嗨 | 在线观看视频h | 精品国产片 | 久久精品老司机 | 91麻豆.com| 国产高清免费在线观看 | 精品中文字幕在线 | 国产精品视频线看 | 亚洲国产欧美在线人成大黄瓜 | 最新av免费在线 | 成人在线视频网 | 天堂va在线观看 | 亚洲欧美激情插 | 久久久在线 | 国产黄色片免费在线观看 | 欧美日韩国产一区二区三区 | 在线观看成人一级片 | www.天天草 | 国产成人精品av | 九热精品 | 免费看在线看www777 | 99久久精品免费 | 色在线最新 | 亚洲一区二区黄色 | 日本中文字幕电影在线免费观看 | 丁香六月中文字幕 | 日日草天天干 | 免费视频在线观看网站 | 热久久影视 | 成人在线网站观看 | 午夜视频二区 | 亚洲国产激情 | 五月婷婷天堂 | 日本精品久久久久中文字幕5 | 91欧美在线 | 欧美日韩亚洲精品在线 | 久久视频国产 | www.天天操.com | 久久成人在线 | 日韩欧美在线高清 | 丰满少妇久久久 | 免费av在线播放 | 国产精品精品久久久 | 国产美女精品视频 | 中文字幕视频 | 五月婷婷在线综合 | 国产无遮挡猛进猛出免费软件 | 欧美精品九九99久久 | 国产精品大片在线观看 | 成人va在线观看 | 久久午夜精品 | a天堂中文在线 | 狠狠干狠狠久久 | 狠狠的日日 | 成人av免费在线播放 | 日本精品免费看 | 免费网站v | 超薄丝袜一二三区 | 国产精品第一页在线观看 | 中文高清av | 国产成人在线观看 | 麻豆视频一区二区 | 国产中出在线观看 | 久久久国产一区 | 在线观看91网站 | 国产成人精品一区二区三区福利 | 人人干人人模 | 国产精品自产拍在线观看 | 黄色成人av | 五月天天色 | 国产成人精品一区二区在线观看 | 人人插人人插 | 91亚洲精品乱码久久久久久蜜桃 | 国产一区二区高清不卡 | 国产成人免费观看 | 日本一区二区三区免费看 | 中文字幕一区二区三区在线观看 | 精品国产视频在线 | 日韩av成人在线观看 | 一二区电影 | 亚洲最大av在线播放 | 国产中文字幕国产 | 性色视频在线 | 欧美aaa一级 | 久久久国产在线视频 | 黄色免费视频在线观看 | 国产精品1区2区3区 久久免费视频7 | 五月开心六月婷婷 | 国产成人三级 | 亚洲经典视频 | 四虎在线免费观看 | 黄色字幕网 | 亚洲天堂激情 | 日韩av在线免费看 | 日日日操操 | 这里只有精品视频在线观看 | 国产一区在线观看免费 | 亚洲视频 中文字幕 | 91尤物在线播放 | 日韩电影一区二区三区 | 欧美日韩有码 | 五月香视频在线观看 | 国产亚洲在线 | 久久精品精品 | av成人在线播放 | 亚洲国产三级在线观看 | 天天操比| 欧美精品乱码99久久影院 | 精品久操| 免费看片日韩 | 国产成人精品综合久久久久99 | 色综合五月 | 不卡在线一区 | 欧美9999 | 黄色一级影院 | 精品麻豆入口免费 | 久久久久国产精品免费 | 精品美女在线视频 | 国产精品久久久久久久久久不蜜月 | 午夜丁香视频在线观看 | 不卡视频在线 | 久草在线资源视频 | 超碰人人干人人 | 免费国产在线精品 | 91资源在线视频 | 西西www4444大胆在线 | 国产精品九九九 | 六月激情婷婷 | 81精品国产乱码久久久久久 | 久久久久久久电影 | 看毛片网站 | 久久精品一区二区三区国产主播 | 国产视频一区在线免费观看 | 国产精品一区二区62 | 狠狠狠色丁香综合久久天下网 | 成人国产精品电影 | 日韩国产欧美在线播放 | 一区二区三区精品在线 | 在线国产91 | 日韩午夜视频在线观看 | www日日| 日本三级香港三级人妇99 | 又黄又爽又无遮挡的视频 | 亚洲情影院 | 日韩在线看片 | 精品国产一区二区三区在线观看 | 在线一区二区三区 | 免费试看一区 | 夜夜嗨av色一区二区不卡 | 国产福利一区二区三区在线观看 | 欧美少妇xxx | 亚洲欧洲精品一区二区精品久久久 | 免费观看福利视频 | 欧美午夜a | 色综合久久久 | 亚洲欧洲日韩在线观看 | 91亚洲在线观看 | 狠狠干电影| 久草视频首页 | 在线欧美小视频 | 欧美激情片在线观看 | 欧美日韩二区三区 | 中文字幕丝袜制服 | 黄a在线看| 在线视频a | 91在线公开视频 | 亚洲区视频在线观看 | 日日爽视频 | 91中文字幕视频 | 麻豆免费观看视频 | 黄色在线观看网站 | av福利网址导航大全 | 亚洲成 人精品 | 国产成人久久av免费高清密臂 | 三级免费黄 | 日韩xxxx视频| 国产成人无码AⅤ片在线观 日韩av不卡在线 | 色综合婷婷| 欧美久久久一区二区三区 | 国产一区视频免费在线观看 | 五月婷婷丁香色 | 日日精品| 狠狠色丁香九九婷婷综合五月 | 久久精品综合 | 在线免费观看视频一区 | 日本成人黄色片 | 视频一区二区在线观看 | 国产成人精品av在线观 | 久久狠狠一本精品综合网 | 国产亚洲精品久久久久久久久久久久 | 午夜视频免费在线观看 | 久久久久久久久网站 | 99日韩精品| 久久国产精品二国产精品中国洋人 | 中文字幕丝袜制服 | 一区视频在线 | 久草爱| 在线va视频| 欧美激情精品 | 久草热久草视频 | 欧美一区在线看 | 国产一区在线视频播放 | 成年人电影免费看 | 免费观看性生活大片3 | 免费男女羞羞的视频网站中文字幕 | 国产精品乱码久久久 | 在线免费高清 | 香蕉视频在线视频 | 99久热在线精品 | 天天摸天天干天天操天天射 | 中文字幕成人在线观看 | 免费观看日韩av | 国产视频精品免费 | 日韩电影中文,亚洲精品乱码 | 久二影院 | 91av视频播放| 999视频网| 日韩一区二区三区高清在线观看 | 国产精品二区三区 | 美女视频一区二区 | 97在线视频网站 | 手机在线欧美 | 婷婷夜夜 | 日日射天天射 | 久久综合九色九九 | 91精品一区国产高清在线gif | 中文字幕一区二区三区在线观看 | 91精品国产一区 | 日韩黄色中文字幕 | 精品国产aⅴ一区二区三区 在线直播av | 二区三区av| 天天草天天摸 | 免费大片黄在线 | 久久国内精品视频 | 久影院| 波多野结衣电影一区二区三区 | 免费中午字幕无吗 | 久久99这里只有精品 | 精品免费在线视频 | 伊人五月综合 | 久久九九网站 | 久久精品视频在线观看 | 国产91免费看 | 91麻豆免费版 | 一级性生活片 | 一区二区三区精品在线 | 久久免费电影网 | 久久99国产精品二区护士 | 亚洲天天摸日日摸天天欢 | 亚洲精品永久免费视频 | 久久视频在线视频 | 91成人看片| 91av电影| av在线短片 | 亚洲精品国内 | 最近中文字幕mv免费高清在线 | 婷婷网在线 | 四虎在线免费观看 | 曰韩精品 | 国产黄网站在线观看 | 三级免费黄 | 久久婷婷视频 | 国产一区不卡在线 | 亚洲欧美日韩一二三区 | 看片一区二区三区 | 少妇搡bbbb搡bbb搡忠贞 | 香蕉视频导航 | 日韩久久久久久久 | 国产 成人 久久 | 开心激情久久 | 粉嫩av一区二区三区免费 | 韩日精品视频 | 亚州国产精品 | 一区二区三区在线观看免费 | 97超碰中文 | 欧美日韩一区二区三区在线观看视频 | 91看片网址 | 日韩理论在线播放 | 免费午夜av | 超碰免费在线公开 | 国产在线看 | 五月天色婷婷丁香 | 欧美日韩久久不卡 | 日韩区欧美久久久无人区 | av7777777| 久久综合色婷婷 | .精品久久久麻豆国产精品 亚洲va欧美 | 在线av资源 | 国产午夜精品在线 | av中文字幕在线观看网站 | 日本精品在线看 | 在线免费av播放 | 人人爽人人看 | 亚洲一级电影在线观看 | av亚洲产国偷v产偷v自拍小说 | 国产资源在线视频 | 久久久久高清毛片一级 | 国产在线观看不卡 | 久久97超碰 | 韩国中文三级 | 国产3p视频| 亚洲天堂精品视频在线观看 | 黄色毛片视频免费观看中文 | 五月婷婷激情综合 | 国产视频 久久久 | 国产一区精品在线观看 | 国产高清在线 | 欧美一区日韩一区 | 99日精品| 在线a视频免费观看 | 丝袜美女在线观看 | 色一级片 | 成人羞羞视频在线观看免费 | 999久久久久久 | 欧美激情片在线观看 | 欧美不卡视频在线 | 天天搞夜夜骑 | 又黄又爽免费视频 | 国产午夜精品福利视频 | 香蕉视频在线看 | 久久视屏网| 免费看污的网站 | 日韩二区三区在线 | 黄色网址在线播放 | 伊人欧美| 超碰97公开| 免费看三级网站 | 欧美日韩精品免费观看视频 | 日韩精品在线视频 | 国产夫妻性生活自拍 | www.香蕉 | 97视频在线 | 精品女同一区二区三区在线观看 | 成人午夜精品 | 欧美成天堂网地址 | 97在线视频免费看 | 亚洲九九九在线观看 | 欧美国产日韩在线观看 | 日韩精品视频免费看 | 国产精品日韩精品 | 国产精品99久久久久久人免费 | 国产96在线视频 | 色婷婷丁香 | 亚洲精品自拍视频在线观看 | 香蕉视频久久久 | 91麻豆精品国产自产 | 亚洲视频,欧洲视频 | 久久久久久免费 | 午夜999| 国产丝袜美腿在线 | 久草新在线 | 久久艹艹 | 黄色特一级片 | 91人人爽人人爽人人精88v | 人人要人人澡人人爽人人dvd | 在线精品亚洲 | 久久久国产精品久久久 | 久久久久看片 | 在线观看视频国产 | 久久久国产一区二区三区四区小说 | 手机成人av在线 | 久久成人午夜视频 | 精品视频在线免费 | 亚洲国产合集 | 999久久久久久 | 国产欧美日韩一区 | 激情综合色播五月 | 久久tv| 国产精品一区二区电影 | 性色av免费在线观看 | 激情综合网天天干 | 国产成人精品在线 | 国产第一页在线观看 | 亚洲无毛专区 | 久久亚洲精品国产亚洲老地址 | 99免费在线播放99久久免费 | 日韩精选在线观看 | 亚洲一级久久 | 在线国产一区 | 9在线观看免费高清完整版在线观看明 | 欧美日韩高清一区二区 | 亚洲爽爽网 | 五月天综合激情网 | 在线视频你懂 | 黄色av电影一级片 | 九九免费视频 | 日韩女同一区二区三区在线观看 | 国产成人精品一区二区三区在线观看 | 国产999精品视频 | 夜色成人网 | 亚洲国产大片 | 18国产精品福利片久久婷 | 午夜精品久久久久久99热明星 | 亚洲综合涩 | 亚洲天堂网在线视频 | 激情五月播播久久久精品 | 国产成人区 | 在线天堂日本 | 成人午夜av电影 | 99精品在线观看 | 中文字幕免费播放 | 色 中文字幕 | 国产呻吟在线 | 亚洲丁香久久久 | 狠狠久久 | 国产一区二区三区在线 | 色99在线 | 亚洲高清在线 | 日韩国产高清在线 | 91视频中文字幕 | www亚洲视频 | 91成年人网站 | 97超碰站| 免费精品在线观看 | 69精品在线观看 | 日韩大片免费在线观看 | 99在线免费视频观看 | 在线免费观看黄网站 | 亚洲女在线 | 久久综合久久88 | 97超碰国产精品女人人人爽 | 激情深爱五月 | www.久久久久 | 99热最新地址 | 九九热在线观看视频 | 久久伊人精品一区二区三区 | 夜夜骑日日 | 超碰免费在线公开 | 在线播放你懂 | 永久免费的啪啪网站免费观看浪潮 | 欧美激情精品久久久久久 | 久久大香线蕉app | 久久国产免费看 | 天天精品视频 | 日本一区二区免费在线观看 | 五月激情丁香 | 欧美国产日韩在线视频 | 成人精品一区二区三区电影免费 | 欧美va在线观看 | 99成人免费视频 | 亚洲在线视频网站 | 久草热久草视频 | 久久精品亚洲精品国产欧美 | 狠狠干狠狠久久 | 亚洲激情综合 | 99精品久久精品一区二区 | 久久国精品 | 色九九视频 | 99精品免费视频 | www看片网站 | 国产福利精品在线观看 | 在线成人小视频 | 国产精品久久中文字幕 | 在线免费高清视频 | 国产伦精品一区二区三区… | 国产精品女主播一区二区三区 | 欧美精品在线观看 | 国偷自产中文字幕亚洲手机在线 | 亚洲一级片在线观看 | 成人精品视频 | 精品一区三区 | 国产精品久久久久久久久久久久午夜片 | 久久国产精品99久久久久久老狼 | 97精品国产97久久久久久 | www色综合| 日韩成人免费在线电影 | 天天夜夜亚洲 | 五月天天色 | 激情五月网站 | 亚洲综合精品视频 | 国产高清无av久久 | 最近中文字幕在线播放 | 日韩av一区在线观看 | 成人av亚洲 | 欧美在线18 | av免费网页 | 视频一区二区国产 | 在线观看国产麻豆 | 欧美在线你懂的 | 免费色视频网址 | 日韩av高清 | 成人免费91| 一区二区三区在线观看免费 | 成人午夜片av在线看 | 丁香综合av | 在线免费观看麻豆视频 | 精品一二三区视频 | 97看片网 | 99精品在线视频观看 | 色婷婷天天干 | 99re亚洲国产精品 | а天堂中文最新一区二区三区 | 色偷偷人人澡久久超碰69 | 久久综合干 | 色之综合网 | 久久久久久久99 | av爱干 | aaa毛片视频| 白丝av在线 | 私人av | 中文字幕在线乱 | 日韩国产精品久久久久久亚洲 | 久久在线免费 | 欧美一级片免费在线观看 | 国精产品999国精产品视频 | 激情五月在线视频 | 成人日韩av| 国产精品精品国产婷婷这里av | 欧美高清视频不卡网 | 日韩欧美在线观看一区二区三区 | 四虎在线免费视频 | 欧美成人猛片 | 色偷偷网站视频 | 中文字幕在线影视资源 | 久久国产精品区 | 国产一性一爱一乱一交 | 国产特级毛片aaaaaa高清 | 国模精品在线 | 成年人电影免费看 | 成年人免费看片 | 久草在线观看视频免费 | 欧美激情视频在线观看免费 | 91精品国产91| 亚洲欧美日本国产 | 一二区电影 | 国产成人一区二区三区电影 | 久艹在线观看视频 | 91成人短视频在线观看 | 69精品视频 | 伊人天天综合 | 午夜91在线| 欧美亚洲免费在线一区 | 啪啪激情网 | 国产不卡av在线 | 九九国产精品视频 | 黄色精品网站 | 欧美一级黄色视屏 | 黄av在线| 天天爽夜夜爽人人爽一区二区 | 午夜精品久久久久久久久久久 | 97国产精品 | 在线免费观看一区二区三区 | 亚洲视频999| 黄色电影在线免费观看 | 超碰成人免费电影 | 久久99精品久久久久蜜臀 | 日韩中文字幕免费视频 | www.天天色.com | 精品国产一区二 | 亚洲三级网站 | 99爱国产精品 | a√天堂资源 | 999视频在线播放 | 久久国产欧美日韩精品 | 免费观看的黄色片 | 久久久久久久久爱 | 免费久久99精品国产婷婷六月 | 天堂va在线高清一区 | 免费观看成人 | 婷婷激情网站 | 亚洲综合视频在线观看 | 91日韩国产| 欧美一级免费黄色片 | 中国黄色一级大片 | 91pony九色丨交换 | 久久一区二区三区日韩 | 右手影院亚洲欧美 | 五月婷婷丁香综合 | 国产色黄网站 | 欧美高清视频不卡网 | 国产最新视频在线观看 | 亚洲国产欧美一区二区三区丁香婷 | 激情av综合| av电影免费在线播放 | 黄色片视频在线观看 | 伊人丁香 | 伊人天堂网| 日韩精品一区二区三区第95 | 久久99久久精品国产 | 绯色av一区 | 伊人五月天.com | 成年人免费在线观看网站 | 日本中文字幕系列 | 999精品| 亚洲国产成人久久 | 福利视频一区二区 | 免费电影一区二区三区 | 亚洲精品视频观看 | 亚洲欧美成人网 | 在线观看你懂的网址 | 免费看91的网站 | 福利一区二区 | 97夜夜澡人人双人人人喊 | 国产中文字幕免费 | 亚洲精品婷婷 | 九九免费精品视频在线观看 | 韩日av一区二区 | 久久手机精品视频 | 免费观看91视频 | 特黄特色特刺激视频免费播放 | 亚洲清纯国产 | 蜜臀aⅴ国产精品久久久国产 | 中文字幕乱偷在线 | 玖玖精品在线 | 国产精品18videosex性欧美 | 国产在线污 | 日韩免| 国产一区二区三区高清播放 | 国产在线综合视频 | 国产亚洲成av人片在线观看桃 | 免费婷婷 | 在线成人国产 | 激情婷婷在线观看 | 中文字幕一区二区三区四区在线视频 | 中文字幕欧美日韩va免费视频 | 亚洲精品视频久久 | 亚洲欧洲精品在线 | av福利电影| 午夜美女福利直播 | 国产极品尤物在线 | 就要色综合 | 看毛片的网址 | 日韩久久精品一区二区三区 | 色视频成人在线观看免 | 黄色的视频网站 | 国产特级毛片aaaaaa | 国产在线看| 蜜臀av夜夜澡人人爽人人 | 国产玖玖在线 | 国产精品免费视频观看 | 国产永久网站 | 亚洲精品99久久久久久 | 成人免费观看网址 | 久久国产精品99久久久久久丝袜 | 国产97在线看 | 久久高清 | 精品国模一区二区三区 | 日韩av女优视频 | 亚洲资源在线网 | 日韩理论片在线 | 天天天干夜夜夜操 | 最近日本中文字幕a | av黄色免费在线观看 | 欧美一区二区三区激情视频 | 手机看片国产日韩 | 国产精品美女久久久久aⅴ 干干夜夜 | 欧美日韩伦理在线 | 国内精品久久久久久久 | 亚州av免费 | 亚洲深夜影院 | 97成人资源 | 日韩小视频网站 | 中文字幕一区2区3区 | 国产vs久久 | 国产精品 久久 | 激情五月婷婷综合 | 超碰com| 亚洲国产色一区 | 麻豆91在线播放 | 天堂网中文在线 | 免费h精品视频在线播放 | 久久久久久久久久久国产精品 | 色橹橹欧美在线观看视频高清 | 久久高清av| 国产婷婷精品av在线 | 国产在线色站 | 国内精品久久久久久久久久久久 | 欧美激情视频一区二区三区免费 | 欧美日韩精品在线播放 | 中文在线8新资源库 | 91亚洲精品久久久久图片蜜桃 | 黄色av影视 | 日韩精品第一区 | 91精品电影 | 激情六月婷婷久久 | 精品9999| 99色在线观看视频 | 色视频在线 | 中文字幕av免费在线观看 | bbbb操bbbb| 极品嫩模被强到高潮呻吟91 | 九九精品久久久 |