国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

使用 async_hooks 模塊進行請求追蹤

共 6878字,需瀏覽 14分鐘

 ·

2021-02-06 10:13

來源 | https://juejin.cn/post/6922274745622724616??

async_hooks 模塊是在 v8.0.0 版本正式加入 Node.js?的實驗性 API。我們也是在 v8.x.x 版本下投入生產環(huán)境進行使用。
那么什么是 async_hooks 呢?
async_hooks 提供了追蹤異步資源的 API,這種異步資源是具有關聯(lián)回調的對象。

簡而言之,async_hooks 模塊可以用來追蹤異步回調。那么如何使用這種追蹤能力,使用的過程中又有什么問題呢?

認識 async_hooks

v8.x.x 版本下的 async_hooks 主要有兩部分組成,一個是 createHook 用以追蹤生命周期,一個是 AsyncResource 用于創(chuàng)建異步資源。

const { createHook, AsyncResource, executionAsyncId } = require('async_hooks')
const hook = createHook({ init (asyncId, type, triggerAsyncId, resource) {}, before (asyncId) {}, after (asyncId) {}, destroy (asyncId) {}})hook.enable()
function fn () { console.log(executionAsyncId())}
const asyncResource = new AsyncResource('demo')asyncResource.run(fn)asyncResource.run(fn)asyncResource.emitDestroy()
上面這段代碼的含義和執(zhí)行結果是:
  1. 創(chuàng)建一個包含在每個異步操作的 init、before、after、destroy 聲明周期執(zhí)行的鉤子函數(shù)的 hooks 實例。
  2. 啟用這個 hooks 實例。
  3. 手動創(chuàng)建一個類型為 demo 的異步資源。此時觸發(fā)了 init 鉤子,異步資源 id 為 asyncId,類型為 type(即 demo),異步資源的創(chuàng)建上下文 id 為 triggerAsyncId,異步資源為 resource。
  4. 使用此異步資源執(zhí)行 fn 函數(shù)兩次,此時會觸發(fā) before 兩次、after 兩次,異步資源 id 為 asyncId,此 asyncId 與 fn 函數(shù)內通過 executionAsyncId 取到的值相同。
  5. 手動觸發(fā) destroy 生命周期鉤子。
像我們常用的 async、await、promise?語法或請求這些異步操作的背后都是一個個的異步資源,也會觸發(fā)這些生命周期鉤子函數(shù)。
那么,我們就可以在 init 鉤子函數(shù)中,通過異步資源創(chuàng)建上下文 triggerAsyncId(父)到當前異步資源 asyncId(子)這種指向關系,將異步調用串聯(lián)起來,拿到一棵完整的調用樹,通過回調函數(shù)(即上述代碼的 fn)中 executionAsyncId() 獲取到執(zhí)行當前回調的異步資源的 asyncId,從調用鏈上追查到調用的源頭。
同時,我們也需要注意到一點,init 是異步資源創(chuàng)建的鉤子,不是異步回調函數(shù)創(chuàng)建的鉤子,只會在異步資源創(chuàng)建的時候執(zhí)行一次,這會在實際使用的時候帶來什么問題呢?

請求追蹤

出于異常排查和數(shù)據(jù)分析的目的,希望在我們 Ada 架構的 Node.js?服務中,將服務器收到的由客戶端發(fā)來請求的請求頭中的 request-id 自動添加到發(fā)往中后臺服務的每個請求的請求頭中。
功能實現(xiàn)的簡單設計如下:
  1. 通過 init 鉤子使得在同一條調用鏈上的異步資源共用一個存儲對象。
  2. 解析請求頭中 request-id,添加到當前異步調用鏈對應的存儲上。
  3. 改寫 http、https 模塊的 request 方法,在請求執(zhí)行時獲取當前當前的調用鏈對應存儲中的 request-id。
示例代碼如下:
const http = require('http')const { createHook, executionAsyncId } = require('async_hooks')const fs = require('fs')
// 追蹤調用鏈并創(chuàng)建調用鏈存儲對象const cache = {}const hook = createHook({ init (asyncId, type, triggerAsyncId, resource) { if (type === 'TickObject') return // 由于在 Node.js 中 console.log 也是異步行為,會導致觸發(fā) init 鉤子,所以我們只能通過同步方法記錄日志 fs.appendFileSync('log.out', `init ${type}(${asyncId}: trigger: ${triggerAsyncId})\n`); // 判斷調用鏈存儲對象是否已經初始化 if (!cache[triggerAsyncId]) { cache[triggerAsyncId] = {} } // 將父節(jié)點的存儲與當前異步資源通過引用共享 cache[asyncId] = cache[triggerAsyncId] }})hook.enable()
// 改寫 httpconst httpRequest = http.requesthttp.request = (options, callback) => { const client = httpRequest(options, callback) // 獲取當前請求所屬異步資源對應存儲的 request-id 寫入 header const requestId = cache[executionAsyncId()].requestId console.log('cache', cache[executionAsyncId()]) client.setHeader('request-id', requestId)
return client}
function timeout () { return new Promise((resolve, reject) => { setTimeout(resolve, Math.random() * 1000) })}// 創(chuàng)建服務http .createServer(async (req, res) => { // 獲取當前請求的 request-id 寫入存儲 cache[executionAsyncId()].requestId = req.headers['request-id'] // 模擬一些其他耗時操作 await timeout() // 發(fā)送一個請求 http.request('http://www.baidu.com', (res) => {}) res.write('hello\n') res.end() }) .listen(3000)
執(zhí)行代碼并進行一次發(fā)送測試,發(fā)現(xiàn)已經可以正確獲取到 request-id。

陷阱

同時,我們也需要注意到一點,init 是異步資源創(chuàng)建的鉤子,不是異步回調函數(shù)創(chuàng)建的鉤子,只會在異步資源創(chuàng)建的時候執(zhí)行一次。

但是上面的代碼是有問題的,像前面介紹 async_hooks 模塊時的代碼演示的那樣,一個異步資源可以不斷的執(zhí)行不同的函數(shù),即異步資源有復用的可能。
特別是對類似于 TCP 這種由 C/C++ 部分創(chuàng)建的異步資源,多次請求可能會使用同一個 TCP 異步資源,從而使得這種情況下,多次請求到達服務器時初始的 init 鉤子函數(shù)只會執(zhí)行一次,導致多次請求的調用鏈追蹤會追蹤到同一個 triggerAsyncId,從而引用同一個存儲。
我們將前面的代碼做如下修改,來進行一次驗證。
存儲初始化部分將 triggerAsyncId 保存下來,方便觀察異步調用的追蹤關系:
 if (!cache[triggerAsyncId]) {      cache[triggerAsyncId] = {        id: triggerAsyncId      }    }

timeout 函數(shù)改為先進行一次長耗時再進行一次短耗時操作:

function timeout () {  return new Promise((resolve, reject) => {    setTimeout(resolve, [1000, 5000].pop())  })}

重啟服務后,使用 postman (不用 curl 是因為 curl 每次請求結束會關閉連接,導致不能復現(xiàn))連續(xù)的發(fā)送兩次請求,可以觀察到以下輸出:

{ id: 1, requestId: '第二次請求的id' }{ id: 1, requestId: '第二次請求的id' }

即可發(fā)現(xiàn)在多并發(fā)且寫讀存儲的操作之間有耗時不固定的其他操作情況下,先到達服務器的請求存儲的值會被后到達服務器的請求執(zhí)行復寫掉,使得前一次請求讀取到錯誤的值。

當然,你可以保證在寫和讀之間不插入其他的耗時操作,但在復雜的服務中這種靠腦力維護的保障方式明顯是不可靠的。

此時,我們就需要使每次讀寫前,JS 都能進入一個全新的異步資源上下文,即獲得一個全新的 asyncId,避免這種復用。需要將調用鏈存儲的部分做以下幾方面修改:

const http = require('http')const { createHook, executionAsyncId } = require('async_hooks')const fs = require('fs')const cache = {}
const httpRequest = http.requesthttp.request = (options, callback) => { const client = httpRequest(options, callback) const requestId = cache[executionAsyncId()].requestId console.log('cache', cache[executionAsyncId()]) client.setHeader('request-id', requestId)
return client}
// 將存儲的初始化提取為一個獨立的方法async function cacheInit (callback) { // 利用 await 操作使得 await 后的代碼進入一個全新的異步上下文 await Promise.resolve() cache[executionAsyncId()] = {} // 使用 callback 執(zhí)行的方式,使得后續(xù)操作都屬于這個新的異步上下文 return callback()}
const hook = createHook({ init (asyncId, type, triggerAsyncId, resource) { if (!cache[triggerAsyncId]) { // init hook 不再進行初始化 return fs.appendFileSync('log.out', `未使用 cacheInit 方法進行初始化`) } cache[asyncId] = cache[triggerAsyncId] }})hook.enable()
function timeout () { return new Promise((resolve, reject) => { setTimeout(resolve, [1000, 5000].pop()) })}
http.createServer(async (req, res) => { // 將后續(xù)操作作為 callback 傳入 cacheInit await cacheInit(async function fn() { cache[executionAsyncId()].requestId = req.headers['request-id'] await timeout() http.request('http://www.baidu.com', (res) => {}) res.write('hello\n') res.end() })}).listen(3000)
值得一提的是,這種使用 callback 的組織方式與 koajs 的中間件的模式十分一致。
async function middleware (ctx, next) {  await Promise.resolve()  cache[executionAsyncId()] = {}  return next()}

NodeJs v14

這種使用 await Promise.resolve() 創(chuàng)建全新異步上下文的方式看起來總有些 “歪門邪道” 的感覺。好在 NodeJs v9.x.x 版本中提供了創(chuàng)建異步上下文的官方實現(xiàn)方式 asyncResource.runInAsyncScope。

更好的是,NodeJs v14.x.x 版本直接提供了異步調用鏈數(shù)據(jù)存儲的官方實現(xiàn),它會直接幫你完成異步調用關系追蹤、創(chuàng)建新的異步上線文、管理數(shù)據(jù)這三項工作!API 就不再詳細介紹,我們直接使用新 API 改造之前的實現(xiàn)

const { AsyncLocalStorage } = require('async_hooks')// 直接創(chuàng)建一個 asyncLocalStorage 存儲實例,不再需要管理 async 生命周期鉤子const asyncLocalStorage = new AsyncLocalStorage()const storage = {  enable (callback) {    // 使用 run 方法創(chuàng)建全新的存儲,且需要讓后續(xù)操作作為 run 方法的回調執(zhí)行,以使用全新的異步資源上下文    asyncLocalStorage.run({}, callback)  },  get (key) {    return asyncLocalStorage.getStore()[key]  },  set (key, value) {    asyncLocalStorage.getStore()[key] = value  }}
// 改寫 httpconst httpRequest = http.requesthttp.request = (options, callback) => { const client = httpRequest(options, callback) // 獲取異步資源存儲的 request-id 寫入 header client.setHeader('request-id', storage.get('requestId'))
return client}
// 使用http .createServer((req, res) => { storage.enable(async function () { // 獲取當前請求的 request-id 寫入存儲 storage.set('requestId', req.headers['request-id']) http.request('http://www.baidu.com', (res) => {}) res.write('hello\n') res.end() }) }) .listen(3000)

可以看到,官方實現(xiàn)的 asyncLocalStorage.run API 和我們的第二版實現(xiàn)在結構上也很一致。

于是,在 Node.js v14.x.x 版本下,使用 async_hooks 模塊進行請求追蹤的功能很輕易的就實現(xiàn)了。


本文完?

瀏覽 48
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 日韩第一区| 中文字幕第72页| 一级一级a免一级a做免费线看内裤| 日本不卡一区二区三区四区| 免费一级无码婬片A片AAA毛片| 99亚洲精品| 欧美精品成人| 无码AV网站| 国产理论电影在线观看| 美女乱伦| 怮交小拗女小嫩苞视频| 国产作爱| 久久久精品午夜人成欧洲亚洲韩国 | 国产成人久久精品麻豆二区 | 激情小说亚洲图片:伦| 久久99视频| 青娱乐国产| 日韩电影免费在线观看中文字幕| 青青草精品| 韩日一区二区| xxxx国产| 国产成人三级片| 熟女91视频| 亚欧免费视频| 91人妻人人澡人人爽人人精| 人人艹人人| 韩国无码观看| 日韩婬乱片A片AAA真人视频| 七六十路の高齢熟妇无码| 国产操逼图| 波多野结衣一级| 日本中文无码视频| 大香蕉最新视频| 在桌下含她的花蒂和舌头H视频| 国产69AV| 91妻人人澡人人爽人人精品| 免费在线观看亚洲| 色资源在线观看| av影音先锋在线| 午夜无码福利在线观看| 999这里只有精品| 五月天婷婷在线视频| 国产一区二区不卡视频| 欧美最猛黑A片黑人猛交蜜桃视频 色噜噜狠狠一区二区三区300部 | 骚小姨子无码| 欧美日韩午夜福利视频| www.大吊视频| 久久Av电影| 少妇高潮av久久久久久| 亚洲无码电影视频| 久久久久久久久久久久久久久久久久免费精品分类视频 | 国产激情啪啪| 天天爽夜夜爽人人爽| 欧美性爱视频在线观看| 久操免费在线视频| 夜夜爽天天爽| 国产2区| 亚洲综合一区二区| 成人无码毛片| 日韩福利片| 加勒比久久综合| 免费无码国产在线53| 午夜精品秘一区二区三区| 久草社区| 91激情| 国产96在线亚洲| 欧美日本成人网站入口| 91无码一区二区三区在线| 国产一级特黄aaa大片| 人人爽亚洲AV人人爽AV人人片| 老司机无码| 亚洲性爱一区二区三区| 亚洲人人爱| 69国产成人精品二区| 99re这里只有精品6| 在线观看小视频| 日韩免费成人视频| 就要干就要操| 9l视频自拍蝌蚪9l成人| 亚洲成人无码av| 久久AV秘一区二区三区水生| 国产成人综合网| 亚洲中文网| 亚洲a视频| 91人妻无码| 色婷婷在线播放| 欧美不卡在线播放| 拍拍AV| 蜜桃在线一区| 五月丁香综合在线| 色图15p| 97色色婷婷| 操逼com| A视频在线免费观看| 91美女网站| 国产无码激情视频| 日韩成人在线观看| 91丨牛牛丨国产人妻| 无码网站内射| 一级内射片在线网站观看| 女生自慰网站免费| 一级欧美黑人大战白妞| 五月婷婷六月香| www.av91| 成人黄片免费看| 一区二区无码视频| 天天天日天天天操| 大香蕉伊人操| 日本成人一区二区| 中文字幕黄色片| 97精品视频在线观看| 欧美特黄AAAAAAAAA片| 人人操人人摸人人| 99精品视频免费观看| 黄色视频一区二区| 国产成人tv| 草久在线| 成人网站www污污污网站公司| 日韩精品在线观看免费| 国产精品夜夜爽7777777| 狠狠干狠狠撸| 欧美v在线| 亚洲AV国产| 三级网址在线| 99在线观看免费| 嫩BBB搡BBBB搡BBBB| 狠狠干网| 亚洲免费视频观看| 特黄特色免费大片| 五月丁香婷婷激情综合| 欧美日韩国产成人电影| 天天色天天色天天色| 中文字幕人妻一区| 超碰AV在线| 秋霞一区二区三区无码| 国产极品久久久| AAA精品| 迷情校园综合| 国内自拍一区| 免费看黄色片| 九九久久国产精品| 日韩色图在线观看| 日本黄色视频网| 日韩人妻AV| 人人妻人人爽人人精品| 嫩草在线观看| 久艹在线观看视频| 超碰在线人妻| 五月婷婷六月香| 久久婷五月| 精品久久国产| www.伊人大香蕉| 中文激情网| 国产毛片777777| 奇米狠狠色| 大香蕉操逼| 国产成人片色情AAAA片| 91亚洲精品国产成人| 日本一本在线| 欧美一级aa| 99久久久成人国产精品| 99大香蕉视频| 人人妻人人躁人人DVD| 色乱视频| 去干网欧美| 久久肏| 国产特级婬片免费看| 翔田千里中文字幕无码| 丁香欧美| 日本五十路| 一级黄色视频日逼片| 婷婷V亚洲V丁香月天V日韩V| 欧美中文字幕| 四虎精品一区二区| 在线观看免费黄片| 亚洲无码成人AV| 99精品国自产在线| 在线亚洲观看| 69无码| 十八禁网站在线观看| 国产精品日韩高清北条麻衣| 亚洲一区在线免费观看| 五月丁香综合| 学生妹一级| 91性爱视频在线观看| 51精品国产| 91人妻人人澡人人爽| 三级片网站国产| 粉嫩av一区二区白浆| 一区二区三区四区高清无码| 草逼com| 午夜成人黄色电影| 综合亚洲视频| 一级黄色电影免费看| 精品网站999www| 性爱A级视频| 亚洲AV成人无码AV小说| 东京热AV在线| 日韩午夜欧美精品一二三区| 国产污视频在线观看| 午夜成人福利片| 无码欧美| 操逼操逼操逼操逼操逼操逼| 亚洲精品久久久久久久久蜜桃| 大鸡巴久久久| 午夜精品18码视频国产17c| 日韩A片免费观看| Japanese在线观看| 青娱乐亚洲领先| 久久久无码人妻精品无码| 91西安站街老熟女露脸| 青娱乐久久| 一区二区三区av| 国产天堂av| 狠狠干天天日| 中文无码在线播放| 91麻豆国产在线| 精品伊人| 欧美日本在线| 久久99精品久久久久| 久久久高清无码| 蜜桃Av噜噜一区二区| 高清无码免费在线视频| 国产精品精品精品| 国产一级a毛一级a毛视频在线网站 | 中文字幕成人无码| 久久影音先锋| 日本午夜影院| 天天操电影| 女人的天堂AV| 久久黄色成人视频| 亚洲日韩欧美在线观看| 午夜AV在线| 3D精品啪啪一区二区三区| 91无码秘蜜桃一区二区三区-百度| 日本不卡一区二区三区| 成人国产AV网站| 日韩av高清| 牛牛Av| 国产精品AV一区| 老婆被黑人杂交呻吟视频| 欧美性爱中文字幕| 婷婷电影网| 超碰人人在线观看| 久青草视频| 亚洲精品黄色电影| 无码在线免费视频| 狠狠色AV| 国产成人激情视频| 欧洲一级片| 久草精品在线| 国产无遮挡| 逼特逼视频| 亚洲无码中| 中文字幕在线观| 91蜜桃传媒| 香蕉伊人视频| 东京热精品视频| 欧美日韩国产成人在线观看| 色99视频| 网络自拍亚洲激情| 另类视频在线| 亚洲中文字幕在线免费观看视频| 国产精品无码成人AV电影| AV小说在线观看| 在线看A片| 风间由美大荫蒂无码AV| 亚洲第一页在线观看| 亚洲国产av一区| 韩国三级HD久久精品HD| 久草视频在线播放| 日韩黄色小电影| 中文字幕不卡在线观看| 在线中出| 伊人无码在线| 亚洲Japanese办公室制服| 午夜黄色视频在线观看| 午夜性爱网| 欧美a片在线看| 国产乱妇乱子伦视频免费观看让女人 | 日韩欧美中文字幕在线视频| 99热8| 欧美性综合网| 日本一区二区三区在线视频| 国产人妖av| 中文字幕不卡无码| 翔田千里无码在线观看| ThePorn-成人网站入口| 久久99视频| 国产无码性爱| 无码专区一区二区三区| 在线免费观看黄色网址| 天天干一干| 国产精品久久免费视频| 色色色色五月天| 天天干天天操综合| 99黄片| 91探花秘在线播放| yw尤物视频| 91av电影| 欧美做受高潮白| 成人做爰黄A片免费看陈冠| 无码中文综合成熟精品AV电影| 天天摸夜夜操| 亚洲第一综合网| 黄色视频网站在线免费观看| www超碰在线| 日韩中文在线播放| 就去色色五月丁香婷婷久久久| 成人aV无码精品国产一区二区 | 四川BBBB擦BBBB| 久久久国产一区| 成人免费看AA片| 九色丨蝌蚪丨老版熟女| www.第四色| 超碰在线观看免费版| 亚洲AV高清| 五月天色色图| 国产色情视频| 人人操91| 成人网站免费在线观看| 操美女的网站| 黄页网站免费观看| 双腿张开被9个男人调教| 91免费视频观看| 丰满大爆乳波霸奶| 特黄aaaaaaaa真人毛片| 午夜成人无码视频| 国产特级毛片| 免费污视频在线观看| 女人的天堂av| 六月综合网| 国产第一页在线观看| 国产一级片内射| 午夜aaa| 国产乱子伦无码视频免费| 俺也操| 亚洲国产成人一区二区| 三级片久久| 日韩在线一| 韩国高清无码60.70.80| 亚洲成人免费观看| 性爱精品视频| 一道本高清无码视频| 亚洲国产成人精品激情在线| 六月婷婷激情| 91插插网| 熟妇在线观看| 中文激情网| 国产超碰在线| a片一级片| 韩日一级17c| 99视频| 国产在线久久久| 国产一级婬片A片AAA樱花| 翔田千里53歳在线播放| 日韩高清中文字幕| 久久久久久久久黄色| 18禁在线| 四川美人搡BBw搡BBw| 天天爽夜夜爽| 九九九精品在线| 亚洲图片在线播放| 亚洲无码精品久久| 婷婷亚洲五月色综合| 免费看黄色视频| 国产乱╳╳AⅤ毛片| 亚洲精品电影| 中文资源在线a中文| 视频在线a| 91亚洲国产AⅤ精品一区二区| 92自拍| 久久99免费视频| 欧美精品乱码99久久蜜桃| 操逼视频免费看| 亚洲午夜免费视频| 九九色色| 91av成人| 色欲熟妇| 丁香婷婷色五月激情综合三级三级片欧美日韩国| 91精品人妻少妇无码影院| 久久久免费黄色视频| 色婷婷AV一区二区三区软件| 天天爽夜夜操| 制服.丝袜.亚洲.中文豆花| 人妻制服丝袜| 蜜桃视频91| 西西444www无码精品| 日批视频免费观看| 中国老熟妇| 男人的天堂社区| 欧美日韩亚洲一区二区三区| 五月综合久久| 日韩中出视频| 北条麻妃一区二区三区在线| 国产成人免费观看| 男人手机天堂| 国产黄色在线观看| 日韩熟女视频| 中文字幕精品三区无码| 黄色三级视频| 操逼操123| 99久久人妻精品免费二区| 久久精品成人电影| 久久天堂AV综合合色蜜桃网| 四虎国产精品成人久久| 免费在线观看a| 国产在线观看无码| 最全av在线| 国产黄色免费观看| 成人精品福利| 亚洲视频在线播放| 色天天综合| 高H网站| 人人操超碰| 深爱五月激情| 一区二区三区福利| 亚洲欧美日韩在线| AV无码电影| 黄色国产视频在线观看| 伊人成人在线| 东京热小视频| 成人在线黄片| 人妻精品一卡二卡| 亚洲第1页| 国产成人无码精品一区秘二区| 91视频在线观看网| 97香蕉久久国产超碰青草专区| 成人视频A片| 日韩欧美不卡色不卡| 一级特黄AAAA片| 俺去啦俺去啦| 偷拍92| 色婷婷AV国产精品| 国产香蕉91| 88av在线观看| 天天av天天av天天爽| 中文不卡在线| 久久色在线视频| 亚洲无码三级| av五月| 三级片无码在线| 五月天激情爱爱| 欧美日韩网站| 日韩成人免费在线观看| 国产精品视频瘾无码| 日本一级黃色大片看免费| 理论片无码| 影音先锋男人| 99久久精品国产色欲| 综合一区二区三区| 国产精品久久久久无码AV| 青青草无码在线视频| 一级A爱爱| 亚洲婷婷网| 伊人偷拍视频| 综合婷婷| 蝌蚪窝视频在线| 日韩欧美中文字幕公布| 国产操P| 日韩人妻精品中文字幕免费| 麻豆av在线观看| 欧美久久一区| 国产g蝌蚪| 日韩性爱网| 亚洲人妻无码一区| 午夜福利区| 欧美精品无码久久久精品酒店 | 久久黄色毛片| 欧美77777| 免费日本黄色| 色五月网站| 黄网在线观看视频| 久久性| 欧美日韩在线电影| 国产性猛交╳XXX乱大交| 91吊逼| 中文人妻第9页| 免费看18禁| 美女天天日| 97福利导航| 久草在线| 北条麻妃无码视频在线观看| 亚洲电影AV| 黄色成人大片| 亚州精品国产精品乱码不99勇敢 | 91亚洲视频在线观看| 怡春院AV| A片黄色视频| 色综合网址| 五月丁香啪| 蜜臀AV成人精品| 久久精品偷拍视频| 久久不雅视频| 全部免费黄色视频| 日韩毛| 欧美成人三级在线| 免费无码国产在线55| 国产夫妻自拍av| 国产P片内射天涯海角| 一道本无吗一区| 北条麻妃99精品| 日韩精品在线视频观看| 思思精品视频| 色欲影视插综合一区二区三区| 五月丁香伊人| 亚洲国产成人91PORN| 一区免费在线| 成人免费视频一区| 老司机狠狠干| 大香蕉久久草| 日韩伊人| 操逼中文字幕| 人成在线视频| 久久婷婷无码视频| 午夜色色福利| 亚洲综合日韩在线| 日韩无码黄片| 久久99精品久久久久久水蜜桃 | 乱伦内射| 奇米影视77777| 亚州视频在线观看| 欧美特黄AAA| 法国《少女日记》电影| 韩国无码人妻| 夜夜嗨AV一区二区三区| 蜜桃av秘无码一区三| 青青草视频偷拍| 国产福利免费视频| 狠狠色AV| 操b网站| 91久久综合亚洲鲁鲁五月天| 高清无码做爱视频| 伊人免费在线| 男女黄色免费网站| 在线观看成人三级片| 国产嫩草久久久一二三久久免费观看| 91日韩欧美| 中文字幕人妻一区| 五月婷婷六月香| 亚洲插菊花综合网| 高清无码在线免费视频| YOUjiZZ欧美大全| 色婷婷黄色| 亚洲一区二区无码| 亚洲九九九九| 日本一区二区视频| 粉嫩av懂色av蜜臀av熟妇| 在线视频一区二区| 亚洲一本大道| 爱爱欧美| 午夜无码在线观看视频| 狠狠狠操| 精品中文字幕在线观看| 日韩成人一区二区三区| 日韩精品人妻无码| 欧美日韩性爱网站| 91视频第一页| 午夜xxx| 香蕉av在线| 自拍偷拍免费| 人人操超碰| 亚洲无码综合| 国产美女自拍视频| 国产看片网站| 在线观看免费成人网站| 午夜亚洲福利| 国产人人爱| 国产伦精品一级A片视频夜夜| 亚洲国产精品18久久久久久| 中文字幕日日| 亚洲成人精品少妇| 国产啊啊啊| 亚洲欧美国产精品专区久久| 在线观看你懂得| 视频二区中文字幕| 逼特逼视频在线| 河南熟妇搡BBBB搡BBBB| 日韩,变态,另类,中文,人妻| 日本国产黄色| 大地资源中文第二页导读内容 | 2017人人操| 操操日| 暖暖无码| 91麻豆精品国产91久久久吃药| 欧美性爱怡红院| 国产成人精品无码区在线| 男女AV网站| 精品视频在线看| 韩日综合在线| 日本免费一二三区| 国产精品午夜在线观看| 国外亚洲成AV人片在线观看 | 大香蕉75| 日韩精品视频在线| 亚洲热视频| 国产亚洲视频在线观看| 日韩精品网| 蜜桃AV在线| 91含羞草www·Com| 人妻熟妇乱子伦精品无码专区毛片| 久久久精品免费视频| 久久久久久久久久成人永久免费视频| 青娱乐免费视频| 亚欧一区二区| av无码毛片| 中文字幕+乱码+中文乱码视频在线观看| 日本久久播| 激情五月天亚洲| 超碰P| 国产成人内射| 五月丁香在线播放| 另类视频区| 精品视频在线免费| 成人午夜A片免费看| 韩国午夜福利视频| 精产国品一区二区| 中文字幕韩日| 欧美激情无码炮击| 2016av天堂网| 狼友视频第二页| 妓女不卡| 黄色电影免费网站| 亚洲高清国产欧美综合s8| 2025AV中文字幕| 老妇性BBWBBWBBWBBW| 女人的天堂AV在线观看| 嘿咻无码推油| 乱码中文字幕日韩欧美在线| 亚洲无码在线播放| 996热| 青草社区在线观看| 2019中文字幕在线免费观看| 国产欧美精品成人在线观看| 殴美色色网| 亚州毛多色色精品| 黑吊操| 久久成人三级| av人人| 国产精品女人精品久久久天天 | 日日摸日日碰| 色婷婷视频在线| 在线观看国产黄色| 亚洲精品在线视频| 色婷婷基地| 国产三级片视频| 69视频在线观看| 18禁黄网站| 国产97热人人| 吴梦梦md0069| 国产成人片色情AAAA片| 亚洲国产精品成人网站| 天天摸天天摸| 444444在线观看免费高清电视剧木瓜一| 成人免费一级视频| 2021国产精品视频| 国产日韩欧美91| 亚洲欧美v在线视频| 精品一区二区三区四| 中国特级毛片| 色婷婷国产精品综合在线观看| 国产操逼大全| 亚欧三级| 免费av在线播放| 日皮视频免费在线观看| 日韩一级无码视频| 国产精品久久久久野外| 精品无码一区二区三区四区| 日韩人妻无码精品| 怡春院中文字幕| 操逼视频观看免费| 亚洲精品鲁一鲁一区二区三区| 精品成人Av一区二区三区| 在线免费观看av片| 精品免费一区二区三区四区| 国产成人777777精品综合| 日本免费黄| 日韩三级一区| 特级婬片AAAAAAA级| 国内免费AV| 九色PORNY9l原创自拍| 精品在线免费视频| 国产女人在线| 日韩一级黄片| 国产欧美激情| 老女人操屄| 亚洲AV无码成人H动漫| 免费日韩黄色电影| 尿在小sao货里面好不好| 亚洲.欧美.丝袜.中文.综合 | 日韩AV在线免费| 人妻少妇一区二区三区| 黄片免费看| www黄片| www.a日逼| 久久久久久久久久久久久久久久久久免费精品分类视频 | 亚洲在线视频播放| 欧美精品黄片| 色婷婷AV| 成人精品网| 91成人三级| 免费色色视频| 日日操日日摸| 在线免费观看亚洲| 麻豆成人无码精品视频| 亚洲精品福利| 亚洲第一黄色| 久久久www| 久久久久久无码精品亚洲日韩麻豆 | 中文字幕av第一页| 1插菊花综合| 国产成人免费在线| 水蜜桃一区二区| 成人午夜精品福利免费| 欧美在线看片| 欧美成人国产| 亚洲无码人妻视频| 天天综合干| 亚洲第一页在线| 日韩AV免费| 成人AV免费观看| 成人做爰黄级A片免费看土方| 狠狠操婷婷| 亚洲秘av无码一区二区| 国产精品成人影视| 国产免费AV在线| 日韩A级片| 国产免费观看av| 蜜桃性视频| www.久热| 天天色天天色天天色| 激情AV| 欧美亚洲视频| 久久久久国产一区二区三区四区| 伊人在线综合| 色777色| 影音先锋av无码| 中文字幕国产在线| 久久国产无码| 亚洲香蕉av| 欧洲AV片| 韩国一区二区三区| 欧美成人午夜福利| 亚洲中文字幕在线免费观看视频 | 人人摸人人草| 人人草人人看人人摸| 日韩中文字幕国产| 久久黄色视频免费观看| 7777影视电视剧在线观看官网| 久热国产视频| 免费观看色情视频| 国产99久久久精品| 性生活无码视频| 无码一区二区三区在线观看| 免费亲子乱婬一级A片| 国产口爆| 国产一级A片在线观看| 翔田千里在线观看| 波多野结衣久久中文字幕| 91成人一区二区三区| 开心激情站| 午夜成人一区二区| 乱伦内射视频| 青青草免费观看视频| 亚洲第一天堂| 最新97色黄色精品高清网站| 揄拍成人国产精品视频| 国产精品综合| 日本一本不卡| 最新中文字幕777私人在线| 瘦精品无码一区二区三区四区五区六区七区八区 | 日韩中文字幕av| 天堂色| 久久青娱乐| www.热久久| 专区无日本视频高清8| 黄网国产手机在线观看| 久热这里只有| 欧美黄色性爱| 插菊花综合网3| 一本道无码在线观看| 超碰自拍99| 亚洲黄色在线看| 精品一区二区久久久久久久网站| 激情操逼| 中文字幕资源站| 亚洲中文字幕有码| 杨门女将婬乱史1—6| 三级片中文字幕| 青青青青操| 自拍三区| 日本特黄AA片免费视频| 加勒比综合在线| 成人免费福利| 高清无码视频免费在线观看| 亚洲乱码精品久久久久..| 最新中文字幕777私人在线| 欧美成人电影| 3p视频网站| 操骚屄视频| 免费无码高清| www.插逼| 中文字幕区| 自拍偷拍无码| 国产一级a毛一级a做免费的视频l| 午夜激情毛片| 欧美日韩大香蕉| 狼友视频在线| 亚洲在线视频网站| 玖玖在线播放| 农村乱子伦毛片国产乱| 麻豆天美传媒AV果冻传媒| 国产美女被爽到高潮免费A片软件 国产无遮挡又黄又爽又色视频软件 | 欧美日韩高清一区| 久久午夜无码鲁丝| 成人国产精品视频| 日本成人性爱视频网站一区| 欧美视频在线观看一区| 亚洲黄色免费电影| 日本久久网| 色五月视频在线| 人人肏屄| 岛国精品在线播放| 国产成人a亚洲精品www| 丁香六月婷婷综合激情欧美| 日本不卡视频在线| 无码欧美| 中文字幕AV在线免费观看| 日韩无码精品电影| AV解说| 国产真人无码| 欧美成人毛片一级A片| 黄片视频免费在线观看| 在线观看亚州| 午夜综合在线| 国产性爱在线观看| 人人操人人爽人人爱| 人妻在线免费视频| 日韩一级在线播放| 三级AV在线免费观看| sm国产在线调教视频| 久久久久无码| 婷婷五月天激情俺来也| 三级片无码在线| 麻豆AV在线观看| 国产一级黄片| 懂色av蜜臀av粉嫩av分| 色婷婷日韩精品一区二区三区| caoporen| 国产探花一区二区三区| 激情黄色视频| 日本高清色清di免费观看| 国产在线观看无码| 日韩爱爱网| 人妻japanesewoman| 91九色蝌蚪91POR成人| 97成人人妻一区二区三区| 蜜桃av秘一区二区三区| 就要操逼| 午夜精品18视频国产17c| 佐山爱人妻无码蜜桃| 婷婷午夜精品久久久久久性色| 色色色99| 91麻豆精品国产91久久久久久久久| 成人小说视频| 黄色免费在线观看视频| 美女毛片网站| 牛牛精品一区二区| www.| 人人操人人爱人人妻| 久久伊人草| 午夜黄电影| 国产人体视频| 国产性爱在线观看| 九九色色| 欧美伦妇AAAAAA片| 色久综合| av一卡二卡| 最近中文字幕mv第三季歌词 | 超碰在线图片| 免费精品视频| 国产麻豆精品ThePorn| 手机av在线观看| 亚洲精品一区二区三区| 99人人爽| 8x8x黄色| 北条麻妃久久视频在线播放| 大蕉网| 老欧性老太色HD大全| 国产精品99久久免费黑人人妻| 国产va在线| 久久伊人大香蕉| 91三级片在线观看| 成人在线精品| 国内免费毛片| 一起草在线视频| 国产精品色| 免费在线观看AV网站| 亚洲无码成人网站| 日韩成人无码影片|