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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sql server cdc 清理_基于CDC技术的ElasticSearch索引同步机制

發(fā)布時(shí)間:2023/12/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql server cdc 清理_基于CDC技术的ElasticSearch索引同步机制 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概述

ElasticSearch作為一個(gè)基于Lucene的搜索引擎被廣泛應(yīng)用于各種應(yīng)用系統(tǒng),比如電商、新聞?lì)悺⒆稍冾惥W(wǎng)站。在使用ElasticSearch開發(fā)應(yīng)用的過程中,一個(gè)非常重要的過程是將數(shù)據(jù)導(dǎo)入到ElasticSearch索引中建立文檔。在一開始系統(tǒng)規(guī)模比較小時(shí),我們可以使用logstash來同步索引。logstash的好處是開方量少,只要進(jìn)行編寫簡單的索引模板和同步sql,就能快速搭建索引同步程序。但是隨著應(yīng)用數(shù)據(jù)規(guī)模的變大,索引變化變得非常頻繁。logstash的缺點(diǎn)也隨著暴露,包括(1)不支持刪除,只能通過修改字段屬性軟刪除,隨著應(yīng)用使用時(shí)間的增長,ElasticSearch中會留存大量的無用數(shù)據(jù),拖慢搜索速度。(2)sql分頁效率低,sql查詢慢。logstash的分頁邏輯是先有一個(gè)大的子查詢,然后再從子查詢中分頁獲取數(shù)據(jù),因此效率低下,當(dāng)數(shù)據(jù)庫數(shù)據(jù)量大時(shí),一個(gè)分頁查詢就需要幾百秒。同步幾千萬數(shù)據(jù)可能需要1天時(shí)間。因此我們決定放棄使用logstash,而改用使用canal來搭建基于CDC技術(shù)的ElasticSearch索引同步機(jī)制。

系統(tǒng)架構(gòu)設(shè)計(jì)

如圖所示,索引同步系統(tǒng)由幾個(gè)部分組成,下面分點(diǎn)介紹。

(1)數(shù)據(jù)庫

原始數(shù)據(jù)數(shù)據(jù)庫

(2)Canal

Canal是阿里云開源的MySql數(shù)據(jù)庫增量數(shù)據(jù)訂閱和消費(fèi)工具。它的實(shí)現(xiàn)原理是將自己偽裝為一個(gè)MySQL slave,向MySql master發(fā)送dump協(xié)議;MySQL master收到dump請求,開始推送binary log給slave,canal解析binary log對象。

(3)Canal Client

Canal Client是自己實(shí)現(xiàn)的程序,通過從Canal Server中獲取經(jīng)過Canal解析之后的數(shù)據(jù)庫binlog日志,做相應(yīng)的業(yè)務(wù)邏輯處理。在本文介紹的基于CDC的索引同步系統(tǒng)中,Canal Client訂閱搜索相關(guān)的數(shù)據(jù)庫表的binlog日志,如果跟數(shù)據(jù)搜索相關(guān)的數(shù)據(jù)發(fā)生變化時(shí),就向Rabbit發(fā)一條消息,表明數(shù)據(jù)發(fā)生變化了,通知同步Worker從MySQL同步數(shù)據(jù)到ES。

(4)RabbitMQ

消息隊(duì)列,也可以選用Kafaka等其他消息隊(duì)列,根據(jù)具體業(yè)務(wù)確定。

(5)索引同步Worker

Worker從消息隊(duì)列中消費(fèi)數(shù)據(jù),根據(jù)消息從MySQL獲取相應(yīng)的數(shù)據(jù)并同步到ElasticSearch中。

Canal Client實(shí)現(xiàn)

Canal Client從Canal Server中獲取binlog日志,并根據(jù)業(yè)務(wù)需求進(jìn)行處理。以下通過一些關(guān)鍵代碼介紹Canal Client的實(shí)現(xiàn)。

(1)在pom中添加Canal client的依賴。

<dependency><groupId>com.alibaba.otter</groupId><artifactId>canal.client</artifactId><version>1.1.0</version></dependency>

(2)初始化Canal連接

CanalConfig包含了Canal的配置信息。CanalConnector為canal-client包中的類,我們通過這個(gè)類來連接server,獲取binlog,關(guān)閉server。該服務(wù)基于SpringBoot。因此init會在CanalClientInitializer bean被創(chuàng)建時(shí)被調(diào)用,preDestory會在服務(wù)關(guān)閉,CanClientInitializer被銷毀時(shí)被調(diào)用。

@Component @Slf4j public class CanalClientInitializer {CanalConfig canalConfig;CanalConnector connector;CanalDataProcessor canalDataProcessor;public CanalClientInitializer(@Autowired CanalConfig canalConfig, @Autowired CanalDataProcessor canalDataProcessor) {this.canalConfig = canalConfig;this.canalDataProcessor = canalDataProcessor;}@PostConstructpublic void init() throws InterruptedException {connector = CanalConnectors.newSingleConnector(new InetSocketAddress(canalConfig.getIp(), canalConfig.getPort()), canalConfig.getDestination(), "", "");//建立連接connector.connect();//訂閱相關(guān)的表connector.subscribe(canalConfig.getSyncTable());canalDataProcessor.process(connector);}@PreDestroypublic void preDestroy() {log.info("stop the canal client");canalDataProcessor.stopProcess();}}

(3)CanalDataProcessor獲取并處理binlog

@Component @Slf4j public class CanalDataProcessor {boolean isRunning;RabbitTemplate rabbitTemplate;TableChangeProcessor tableChangeProcessor;public CanalDataProcessor(@Autowired RabbitTemplate rabbitTemplate, @Autowired TableChangeProcessor processor) {this.rabbitTemplate = rabbitTemplate;this.tableChangeProcessor = processor;}@Asyncpublic void process(CanalConnector connector) throws InterruptedException {isRunning = true;while (isRunning) {try {//獲取消息Message message = connector.getWithoutAck(100, 10L, TimeUnit.SECONDS);//業(yè)務(wù)處理邏輯processMessage(message);//消息被成功執(zhí)行,向Canal Server發(fā)送ack消息通知server該message已經(jīng)被處理完成connector.ack(message.getId());} catch (Exception e) {log.error("wtf", e);//當(dāng)消息沒被成功處理完成時(shí)進(jìn)行回滾,下次能夠重新獲取該Messageconnector.rollback();Thread.sleep(1000);}}connector.disconnect();}public void stopProcess() {isRunning = false;}private void processMessage(Message message) {for(Entry entry : message.getEntries()) {try {tableChangeProcessor.process(entry);} catch (Exception e) {log.error("wtf", e);continue;}}} }

(4)TableChangeProcessor

TableChangeProcessor中為具體的業(yè)務(wù)邏輯,處理Message,獲取跟搜索相關(guān)的數(shù)據(jù)變化,發(fā)送相應(yīng)的消息到消息隊(duì)列中。

注意點(diǎn)

(1)忽略搜索無關(guān)的數(shù)據(jù)字段變化,避免不必要的索引更新,降低服務(wù)器壓力。如Products表中有一個(gè)product_weight表示商品重量發(fā)生了變化,但其實(shí)商品重量跟搜索無關(guān),那就不要關(guān)心這個(gè)變化。

(2)對于搜索中不會出現(xiàn)的數(shù)據(jù),不要寫入到ES中,比如電商商品中的下架商品,另外,如果商品被下架,則要進(jìn)行監(jiān)聽通知索引同步Worker從es中刪除索引文檔。這樣能夠降低ES中總的索引文檔數(shù)量,提升搜索效率。

(3)要考慮Rabbit掛掉或者隊(duì)列寫滿,消息無法寫入的情況;首先應(yīng)該在Rabbit發(fā)送消息時(shí)添加重試,其次應(yīng)該在重試幾次還是失敗的情況下拋出異常,canal消息流回滾,下次還是能夠獲取到這個(gè)數(shù)據(jù)變化的Canal消息,避免數(shù)據(jù)變動(dòng)的丟失。

(4)注意目前Canal只支持單Client。如果要實(shí)現(xiàn)高可用,則需要依賴于ZooKeeper,一個(gè)Client作為工作Client,其余Client作為冷備,當(dāng)工作Client掛掉時(shí),冷備Client監(jiān)聽到ZooKeeper數(shù)據(jù)變化,搶占鎖成為工作Client。

Canal Worker實(shí)現(xiàn)

索引同步Worker從消息隊(duì)列中獲取Canal Client發(fā)送的跟搜索相關(guān)的數(shù)據(jù)庫變化消息。舉個(gè)例子,比如商品表中跟搜索相關(guān)的字段發(fā)生了變化,Canal Client會發(fā)送以下一條數(shù)據(jù):

{"change_id": "694212527059369984","change_type": 1, //商品發(fā)生變化"change_time": "1600741397" }

在Worker中監(jiān)聽隊(duì)列消息:

@Component @Slf4j public class ProductChangeQueueListener {@Autowired@Qualifier("snake")ObjectMapper om;@AutowiredChangeEventHandlerFactory changeEventHandlerFactory;@RabbitListener(queues = RabbitConfig.PRODUCT_QUEUE_NAME, containerFactory = "customRabbitListenerContainerFactory")public void onChange(Message message) {ChangeEvent event = parse(message);if(event == null) {return;}changeEventHandlerFactory.handle(event);}private ChangeEvent parse(Message message) {ChangeEvent event = null;try {event = om.readValue(new String(message.getBody()), ChangeEvent.class);} catch (Exception e) {log.error("同步失敗,解析失敗", e);}return event;}}

ChangeEventHandlerFactory為事件處理器的工廠類。以下為一個(gè)事件處理器的實(shí)現(xiàn)。它監(jiān)聽changeType為CHANGE_TYPE_OUT_PRODUCT的事件,從數(shù)據(jù)庫中獲取到變動(dòng)的數(shù)據(jù),構(gòu)建ES的IndexRequest,并將Request存入到RequestBulkBuffer中,等待批量同步到ES中。有些同學(xué)可能會有疑問,為何不直接從Canal中獲取數(shù)據(jù),主要原因是Canal中只包含了單表數(shù)據(jù),但是索引文檔可能包含了多表的數(shù)據(jù),因此還需要從MySQL獲取數(shù)據(jù)。如果索引文檔中只包含單表數(shù)據(jù),可以考慮在ChangeEvent中包含修改之后的數(shù)據(jù),索引同步Woker就不用再從MySql中再獲取一遍數(shù)據(jù),提升Worker工作效率。

@Component @Slf4j public class OutProductEventHandler implements ChangeEventHandler {@AutowiredProductDao productDao;@AutowiredRequestBulkBuffer buffer;@AutowiredOutProductChangeRequestBuilder builder;@Override@Retryablepublic boolean handle(ChangeEvent changeEvent) {if (!match(changeEvent)) {return false;}Tuple dataTuple = productDao.getProductWithStore(changeEvent.getChangeId());if (dataTuple == null) {return true;}Product product = dataTuple.get(QProduct.product);Store store = dataTuple.get(QStore.store);IndexRequest request = null;try {request = builder.convertToUpdateQuery(getTimestampNow(), product, store);} catch (Exception e) {log.error("wtf", e);}if (request == null) {return true;}buffer.add(request);return true;}@Overridepublic boolean match(ChangeEvent changeEvent) {return ChangeEvent.CHANGE_TYPE_OUT_PRODUCT == changeEvent.getChangeType();} }

在上面的OutProductEventHandler類中,我們并不直接在該類中使用RestHighLevelClient將文檔更新到ES索引,而是將IndexRequest暫存到RequestBulkBuffer中。RestBulkBuffer使用CircularFifoBuffer作為存儲數(shù)據(jù)結(jié)構(gòu)。

@Component public class RequestBulkBuffer {CircularFifoBuffer buffer;public RequestBulkBuffer(CircularFifoBuffer buffer) {this.buffer = buffer;}public void add(DocWriteRequest<?> request) {buffer.add(request);}}

CircularFifoBuffer是一個(gè)經(jīng)過改造的環(huán)形隊(duì)列實(shí)現(xiàn)。允許多線程寫,在我們這個(gè)應(yīng)用場景中只支持也只需支持單線程讀->處理->移除處理完的數(shù)據(jù)。當(dāng)環(huán)形隊(duì)列緩存滿時(shí),借助于semaphore,寫入線程將會被阻塞,在后面的Worker如何防止數(shù)據(jù)丟失中,我們來闡述為什么要這么做。

/*** 允許多線程寫* 只允許單線程->讀->處理->移除*/ public class CircularFifoBuffer {private Logger logger = LoggerFactory.getLogger(CircularFifoBuffer.class.getName());private transient Object[] elements;private transient int start = 0;private transient int end = 0;private transient boolean full = false;private final int maxElements;private ReentrantLock addLock;private Semaphore semaphore;public CircularFifoBuffer(int size) {if (size <= 0) {throw new IllegalArgumentException("The size must be greater than 0");}elements = new Object[size];maxElements = elements.length;addLock = new ReentrantLock();semaphore = new Semaphore(size);}public int size() {int size = 0;if (end < start) {size = maxElements - start + end;} else if (end == start) {size = (full ? maxElements : 0);} else {size = end - start;}return size;}public boolean isEmpty() {return size() == 0;}public boolean isFull() {return size() == maxElements;}public int maxSize() {return maxElements;}public void clear() {full = false;start = 0;end = 0;Arrays.fill(elements, null);}public boolean add(Object element) {if (null == element) {throw new NullPointerException("Attempted to add null object to buffer");}addLock.lock();try {semaphore.acquire();} catch (Exception e) {logger.error("RingBuffer", "線程退出,添加失敗");return false;}elements[end++] = element;if (end >= maxElements) {end = 0;}if (end == start) {full = true;}addLock.unlock();return true;}public Object get() {if (isEmpty()) {return null;}return elements[start];}public Object remove() {if (isEmpty()) {return null;}Object element = elements[start];if(null != element) {elements[start++] = null;if (start >= maxElements) {start = 0;}full = false;semaphore.release();}return element;}/*** @param size the max size of elements will return*/public Object[] get(int size) {int queueSize = size();if (queueSize == 0) { //emptyreturn new Object[0];}int realFetchSize = queueSize >= size ? size : queueSize;if (end > start) {return Arrays.copyOfRange(elements, start, start + realFetchSize);} else {if (maxElements - start >= realFetchSize) {return Arrays.copyOfRange(elements, start, start + realFetchSize);} else {return ArrayUtils.addAll(Arrays.copyOfRange(elements, start, maxElements),Arrays.copyOfRange(elements, 0, realFetchSize - (maxElements - start)));}}}public Object[] getAll() {return get(size());}public Object[] remove(int size) {if(isEmpty()) {return new Object[0];}int queueSize = size();int realFetchSize = queueSize >= size ? size : queueSize;Object [] retArr = new Object[realFetchSize];for(int i=0;i<realFetchSize;i++) {retArr[i] = remove();}return retArr;}}

下面這個(gè)類為緩存的消費(fèi)者,它循環(huán)從buffer中獲取一定數(shù)據(jù)的數(shù)據(jù),并使用RestHighLevelClient將數(shù)據(jù)批量同步到ES。在Worker啟動(dòng)時(shí),會創(chuàng)建一個(gè)線程調(diào)用startConsume,在服務(wù)關(guān)閉時(shí)該線程結(jié)束。

@Slf4j public class RequestBulkConsumer {private static final int DEFAULT_BULK_SIZE = 2000;private CircularFifoBuffer buffer;private EsBulkRequestService service;private boolean isRunning = false;private int bulkSize = DEFAULT_BULK_SIZE;public RequestBulkConsumer(CircularFifoBuffer buffer, RestHighLevelClient client) {this.buffer = buffer;this.service = new EsBulkRequestService(client);}public void setBulkSize(int size) {this.bulkSize = size;}public int getBulkSize() {return bulkSize;}public boolean isRunning() {return isRunning;}public void startConsume() {if(isRunning) {return;}isRunning = true;while(true) {if(!isRunning) {break;}Object [] items = buffer.get(bulkSize);if(items.length == 0) {try {Thread.sleep(1000);} catch (InterruptedException e) {break;}} else {List<DocWriteRequest<?>> requests = convert(items);try {BulkResponse response = service.request(requests);processResponse(response);buffer.remove(items.length);if (items.length < bulkSize) {Thread.sleep(3000);}} catch (InterruptedException e) {break;} catch (IOException e) {log.error("wtf", e);} catch (Exception e) {log.error("wtf", e);buffer.remove(items.length);}}}}private List<DocWriteRequest<?>> convert(Object [] items) {return Stream.of(items).map(i -> {if(i instanceof DocWriteRequest) {return (DocWriteRequest<?>) i;} else {return null;}}).filter(Objects::nonNull).collect(Collectors.toList());}public void stop() {isRunning = false;}private void processResponse(BulkResponse bulkResponse) {BulkItemResponse [] itemResponseArr = bulkResponse.getItems();for(BulkItemResponse resp : itemResponseArr) {DocWriteResponse docWriteResponse = resp.getResponse();if(docWriteResponse instanceof IndexResponse) {IndexResponse indexResponse = (IndexResponse) docWriteResponse;if(indexResponse.getResult() != Result.CREATED && indexResponse.getResult() != Result.UPDATED) {if(indexResponse.status() == RestStatus.CONFLICT) {continue;} else {log.error("索引更新失敗: {}, {}", indexResponse.getId(), resp.getFailureMessage());}}} else if(docWriteResponse instanceof DeleteResponse) {DeleteResponse deleteResponse = (DeleteResponse) docWriteResponse;if(deleteResponse.getResult() != Result.DELETED) {log.error("索引刪除失敗: {}, {}", deleteResponse.getId(), resp.getFailureMessage());}}}} }

以下為Worker的主要幾個(gè)類的代碼。在索引同步系統(tǒng)中,高可用并不是最重要的,因?yàn)槲覀兊乃阉鞅旧硎且粋€(gè)準(zhǔn)實(shí)時(shí)系統(tǒng),只需要保證最終一致性就可以了,我們主要需要避免的是數(shù)據(jù)變更的丟失。以下說明在Worker中是如何避免數(shù)據(jù)丟失的。

避免數(shù)據(jù)丟失

(1)如果Rabbit掛掉,沒關(guān)系,Canal Client那邊在Rabbit掛掉期間無法消費(fèi)binlog,會等待Rabbit重啟之后再處理數(shù)據(jù)變化。Worker只要能做到Rabbit重啟之后重連就行。

(2)如果MySQL掛掉,則Worker無法從數(shù)據(jù)庫中獲取數(shù)據(jù),則消息處理失敗,消息會堆積在Rabbit中。等MySQL重新上線之后,消息重新開始處理,數(shù)據(jù)也不會丟失。

(3)如果ES掛掉,則批量處理線程消費(fèi)buffer中的數(shù)據(jù)時(shí)會失敗,buffer會被生產(chǎn)者填滿,由于CircularFifoBuffer在被填滿時(shí)使用了信號量阻塞生產(chǎn)者線程,消息又會被堆積在Rabbit中,等待ES重新上線之后,消息重新開始處理,數(shù)據(jù)也不會丟失。

(4)如果Rabbit隊(duì)列被寫滿,emmm,設(shè)置好在內(nèi)存被占滿時(shí)將消息寫入硬盤然后搞一個(gè)大一點(diǎn)的硬盤吧,Rabbit默認(rèn)應(yīng)該就是這么做的。然后做好預(yù)警,當(dāng)消息達(dá)到一定量時(shí)抓緊處理,一般來說可能性不是很大。

(5)版本沖突,如果商品表中某一條數(shù)據(jù)如商品A在同一秒內(nèi)變化了兩次,消息隊(duì)列中有連續(xù)兩條消息,又由于這兩條消息可能在兩個(gè)線程中被消費(fèi),由于網(wǎng)絡(luò),計(jì)算機(jī)性能等原因,先變的數(shù)據(jù)后被寫入ES中,導(dǎo)致ES中數(shù)據(jù)和MySql數(shù)據(jù)不一致。因此我們在更新索引時(shí)使用ES的外部版本號。使用從MySQL中取數(shù)據(jù)時(shí)的時(shí)間戳作為版本號,只有當(dāng)時(shí)間戳比當(dāng)前版本號大或相等時(shí)才能變更文檔,否則ES會報(bào)版本沖突錯(cuò)誤。

private IndexRequest convertToUpdateQuery(Long timestamp, OutStoreProduct outStoreProduct) throws JsonProcessingException {IndexRequest indexRequest = new IndexRequest(indexName, "doc", outStoreProduct.getId());if(StringUtils.isEmpty(outStoreProduct.getTooEbaoProductId())) {log.error("商品 {} 的ebaoProductId為空,無法同步", outStoreProduct.getId());return null;}indexRequest.source(om.writeValueAsString(outStoreProduct), XContentType.JSON).versionType(VersionType.EXTERNAL_GTE).version(timestamp).routing(outStoreProduct.getTooEbaoProductId());return indexRequest;}

關(guān)于全量同步

以上只是實(shí)現(xiàn)了增量同步,在索引初始化時(shí),我們需要做全量同步操作,將數(shù)據(jù)從數(shù)據(jù)庫初始化到ES索引中。我們可以在Worker中寫一個(gè)接口,該接口實(shí)現(xiàn)邏輯分批將數(shù)據(jù)同步任務(wù)發(fā)到消息隊(duì)列中,其它worker收到消息后完成對應(yīng)任務(wù)。比如我們可以發(fā)布每一個(gè)門店的數(shù)據(jù)同步任務(wù),worker每收到一個(gè)消息,同步一個(gè)門店的數(shù)據(jù)。

總結(jié)

綜上,本系統(tǒng)是一個(gè)近實(shí)時(shí)的能夠保證ES和MySQL數(shù)據(jù)一致性的高效索引同步系統(tǒng)。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的sql server cdc 清理_基于CDC技术的ElasticSearch索引同步机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

久久久精品国产一区二区三区 | 天天摸日日操 | 手机看片99 | 国产99re | 在线观看爱爱视频 | 婷婷色在线播放 | 中文国产在线观看 | 成人中文字幕av | 91免费高清在线观看 | 亚洲精品国精品久久99热 | 蜜臀av麻豆 | 亚洲一区视频免费观看 | 天天做天天爱夜夜爽 | 亚洲色图27p | 精品国产亚洲一区二区麻豆 | 久久国产免费 | 午夜国产福利在线 | 国产精品mm| 色综合天天做天天爱 | 九九日九九操 | 久久免费视频7 | 女人久久久久 | 国产精品中文在线 | 欧美一区二区三区不卡 | 久草久草久草久草 | 91成人精品国产刺激国语对白 | 国产原创91 | 日本成人免费在线观看 | 亚洲色图美腿丝袜 | 欧美99热| 最近中文字幕免费av | 综合精品久久久 | 久久久高清视频 | 成人免费看片98欧美 | 狠狠色丁香久久婷婷综合_中 | 国产美女精品在线 | 人操人| 亚洲精品欧美精品 | 一级黄色在线视频 | 免费电影一区二区三区 | 久久久久亚洲国产 | 免费a网站| 中文字幕在线不卡国产视频 | 免费在线观看中文字幕 | 天躁狠狠躁| 日韩欧美高清不卡 | 亚洲精品视频网址 | 国产精品入口传媒 | 国产小视频在线观看 | 亚洲国产一二三 | 在线观看日本高清mv视频 | 国产伦理一区二区 | a级一a一级在线观看 | 99精品免费 | 国产精品video爽爽爽爽 | 久久综合九色99 | 国产美女视频免费观看的网站 | 色爽网站 | 91精品福利在线 | 五月天综合网站 | 在线观看一级 | 人人舔人人射 | 人人干人人添 | 五月天婷婷在线观看视频 | 玖玖爱国产在线 | 国产麻豆精品久久一二三 | 国产专区在线播放 | 久久无码精品一区二区三区 | 黄色一集片| 超级碰碰免费视频 | www.伊人网| 午夜精品久久久久久久99水蜜桃 | 亚洲成人软件 | 国产视频首页 | 超碰97人人射妻 | 97超碰中文字幕 | 久久国内精品99久久6app | 精品国产欧美一区二区三区不卡 | 亚洲国产高清在线观看视频 | 奇米影音四色 | 国产精品1区2区在线观看 | 国产精品久久三 | 精品国产一区二区三区久久久 | 91久久一区二区 | 欧美性精品 | 中文字幕久久精品 | av黄色在线观看 | 国产高清第一页 | 亚洲欧美日韩中文在线 | 亚洲成人av免费 | 精品国产1区二区 | 在线视频 你懂得 | 中文字幕在线观看免费 | 99爱视频在线观看 | 亚洲一区视频免费观看 | 天天操天天摸天天爽 | 久久久久久黄色 | 中文字幕一区二区三区四区视频 | 草久热 | 久久a v视频 | 亚洲国产精品成人av | 日韩视频一区二区三区在线播放免费观看 | 国产高清成人av | 久久综合九色九九 | 高清av免费看 | av不卡免费在线观看 | 91麻豆看国产在线紧急地址 | 国产精品www| 久草国产在线观看 | 麻豆精品在线 | 亚洲草视频 | 亚洲精品国产精品国自 | 免费成人av电影 | 国产中文欧美日韩在线 | 色视频在线 | 五月天视频网 | 久艹视频在线观看 | 91探花国产综合在线精品 | 日韩精品免费在线播放 | 成年人在线免费看视频 | 最近字幕在线观看第一季 | 久久无码精品一区二区三区 | 精品久久精品 | 日本不卡久久 | 超碰人人射 | 超碰人人91 | 伊人av综合 | 99久久婷婷国产综合精品 | 国产精品扒开做爽爽的视频 | 一区二区三区精品久久久 | 欧美日韩国产三级 | 三级av在线免费观看 | h动漫中文字幕 | 国产欧美精品xxxx另类 | 中文字幕丝袜 | 九九久| 国产999视频在线观看 | 国产精品久久久久aaaa | 97精品视频在线 | 欧美不卡在线 | 精品主播网红福利资源观看 | 午夜视频在线观看一区二区三区 | 91av视频免费在线观看 | 久久精品牌麻豆国产大山 | 黄色免费视频在线观看 | 久久这里精品视频 | 日日夜夜综合网 | 日韩理论电影网 | 国产美女精彩久久 | 99色国产| 麻豆 91 在线| 精品国产一区二区三区久久久久久 | 一级黄色av | 丰满少妇在线观看网站 | 美女福利视频在线 | 亚洲精品看片 | 久热电影| 国产精品日韩精品 | 91女子私密保健养生少妇 | 色香蕉在线视频 | 国产在线日本 | 天天插天天狠天天透 | 西西444www | 国产精品刺激对白麻豆99 | 最新免费中文字幕 | 中文资源在线观看 | 国产精品久久久999 国产91九色视频 | a√资源在线 | 国产精品激情在线观看 | 四虎在线观看视频 | 黄色综合| 91麻豆精品国产91久久久久久久久 | 国产69精品久久app免费版 | 又黄又爽又刺激视频 | 六月丁香激情综合 | 不卡av电影在线观看 | 免费a一级 | a一片一级 | 婷婷在线网站 | 久久人人爽人人爽人人片av免费 | 狠狠色丁香婷综合久久 | 午夜黄色| 亚洲精品在线观看不卡 | 免费在线观看成人小视频 | 91欧美日韩国产 | 国产精品色 | 精品国产乱码一区二 | 在线观看中文字幕2021 | 久久久久免费电影 | 国产成人精品女人久久久 | 少妇bbbb搡bbbb搡bbbb | 亚洲粉嫩av| 日本精品久久久久久 | 又色又爽又黄 | 婷婷干五月 | 草久中文字幕 | 五月激情五月激情 | 精品视频www | 日韩专区一区二区 | 一区二区三区日韩在线观看 | 日本久久久影视 | 国产精品视频地址 | 免费视频一级片 | 蜜桃传媒一区二区 | 特黄一级毛片 | 视频二区在线视频 | 欧美aaaxxxx做受视频 | 欧美另类网站 | 91porny九色在线播放 | 久久综合色影院 | 久草精品免费 | 久久久久久免费 | 国产成人精品一区二区在线 | 亚洲成人免费在线观看 | 狠狠色丁香婷婷综合久久片 | 免费观看全黄做爰大片国产 | 久草在线资源网 | 福利一区二区三区四区 | 亚洲综合色播 | 国产精品美女www爽爽爽视频 | 91av影视 | 欧美成年网站 | 在线观看视频色 | av网站大全免费 | av高清在线观看 | av在线播放观看 | 人人爽人人爽人人爽 | 草久在线 | 中文字幕久久精品一区 | 人人爽人人爽人人片av免 | av在线免费观看不卡 | 久久大片 | 亚洲开心色 | 中文理论片 | 91精品一区二区三区久久久久久 | 欧美在线99 | 欧美日韩国产在线一区 | 日韩精品视频久久 | 日本在线视频网址 | 伊人资源站| 免费在线中文字幕 | 狠狠色2019综合网 | 日韩资源在线 | 国产精品日韩久久久久 | 蜜臀久久99精品久久久无需会员 | 深爱激情站 | 中文字幕在线观看一区二区 | 美女网站在线观看 | a在线免费观看视频 | 亚洲视频www| 国产91学生粉嫩喷水 | 黄色小视频在线观看免费 | 亚洲国产丝袜在线观看 | 亚洲免费视频观看 | 91人人爽久久涩噜噜噜 | 激情五月播播久久久精品 | 在线蜜桃视频 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 国产99久久 | 97超碰总站| 97电影院在线观看 | 在线观看国产区 | av在线激情 | 国产精品欧美久久久久久 | 波多野结衣动态图 | 9免费视频 | 日韩有色 | 国产麻豆成人传媒免费观看 | 91最新中文字幕 | 91色在线观看视频 | 婷婷在线网 | 成人黄色电影免费观看 | 亚洲精品一区二区三区四区高清 | 在线观看中文字幕一区二区 | 久久免费黄色 | 不卡的av在线 | 中文网丁香综合网 | 国产区精品在线 | 五月天丁香综合 | 婷婷丁香五 | 久久久久久久久久久久av | 国产玖玖精品视频 | 日韩av男人的天堂 | 久久久蜜桃一区二区 | 国产精品爽爽爽 | 在线成人中文字幕 | 欧美少妇18p | 国产小视频你懂的在线 | 热久久影视 | 亚洲va天堂va欧美ⅴa在线 | 国产xxxx做受性欧美88 | 亚洲精品一区二区网址 | 99在线观看精品 | 九九久久久久99精品 | 狠狠网| 亚洲国产中文字幕在线观看 | 91精品欧美一区二区三区 | 国产天天综合 | 黄p在线播放 | 天天干夜夜爱 | 欧美日本中文字幕 | 亚洲欧美日韩不卡 | 97成人精品视频在线观看 | 国产亚洲aⅴaaaaaa毛片 | 婷婷伊人网 | 亚洲精品一区二区精华 | 久久久国产一区二区 | 国产剧情久久 | 99草在线视频 | 欧美激情一区不卡 | 亚洲免费黄色 | 伊人色综合久久天天 | 黄色成人av在线 | 国产高清视频免费观看 | 久久99久国产精品黄毛片入口 | 日韩电影在线观看一区 | 日韩av片无码一区二区不卡电影 | 国产精品视频永久免费播放 | 欧美一区中文字幕 | 日韩理论| 精品成人在线 | 99热播精品 | av丝袜在线 | 日韩视频免费看 | 欧美视频不卡 | 久久国产一区二区 | 国产精品一区二区三区视频免费 | 天天摸日日摸人人看 | 九九免费在线观看 | 四虎国产精品永久在线国在线 | 日韩精品中文字幕有码 | 婷婷精品国产欧美精品亚洲人人爽 | 激情综合婷婷 | 偷拍精品一区二区三区 | 精品综合久久 | 在线视频app | 国产999视频在线观看 | 日韩视频二区 | 91在线播放综合 | 亚洲综合激情网 | 伊在线视频| 日韩激情第一页 | 在线视频观看你懂的 | 一区二区三区日韩精品 | 97视频在线观看免费 | 六月久久婷婷 | 国产精品久久久久永久免费看 | 国产婷婷在线观看 | 在线精品在线 | 国产成人av电影在线观看 | 97超碰人人澡| 国产黄色在线网站 | 91在线视频在线 | 国产亚洲午夜高清国产拍精品 | 狠狠色丁香婷婷综合基地 | 精品久久久久久久久久久久久久久久 | 亚洲在线网址 | 国产亚洲在线观看 | 国产第一二区 | 狠色在线 | 麻豆视频在线免费 | 天天天天天天操 | 91色一区二区三区 | 精品麻豆入口免费 | 亚洲精品电影在线 | 91视频 - 88av| 日日干干 | 日韩高清www | 亚洲永久精品国产 | 91视频国产免费 | 天天干天天插伊人网 | 久草在线资源观看 | 日日夜夜免费精品 | 日韩欧美高清不卡 | 国产小视频国产精品 | 射射射av| 久久综合九色九九 | 精品一区二区久久久久久久网站 | 91麻豆精品国产 | 久操中文字幕在线观看 | 国产资源网 | 亚洲精品美女久久 | 亚洲成av人片在线观看www | 香蕉在线视频播放网站 | 97电影网手机版 | 免费av免费观看 | 国产一级免费电影 | 久久久国产精品电影 | 狠狠干成人综合网 | 夜夜操狠狠操 | 欧美精品一区二区性色 | 久久一视频| 精品久久久久久久久久久久久 | 婷婷精品国产欧美精品亚洲人人爽 | 久草久热 | 久久理论片 | 精品亚洲视频在线观看 | 樱空桃av | 97在线视频观看 | 欧美日韩亚洲第一页 | 在线视频 一区二区 | 玖玖在线视频观看 | 国产精品毛片久久久久久久久久99999999 | 深爱激情久久 | 国产欧美精品在线观看 | 日韩欧美69 | 人人干在线观看 | 欧美精品v国产精品v日韩精品 | 国产福利在线免费观看 | 国产精品18久久久久久vr | 一区二区三区免费在线播放 | 久久精品视频观看 | 午夜av影院 | 日韩免费视频一区二区 | av中文字幕网址 | 中文字幕乱码电影 | 国产精品黄网站在线观看 | 亚洲精品国产精品国自产 | 亚洲成人黄色在线观看 | 天天操夜夜逼 | 中文字幕久久久精品 | 成人免费 在线播放 | 国产精品久久久久高潮 | 久久字幕精品一区 | 中文十次啦| 久久精品黄 | 丁香综合激情 | 国产精品久久 | 亚洲国产av精品毛片鲁大师 | 日韩精品一卡 | 国产精品高清在线 | 成人永久视频 | 热re99久久精品国产99热 | 日日夜夜网 | 国产中文视 | 激情五月av| 中文字幕av在线播放 | 精品国产123 | 精品国产一区二区三区男人吃奶 | 99视频在线观看免费 | 欧美成人一二区 | 激情综合色综合久久综合 | 国产精品剧情在线亚洲 | 在线v片免费观看视频 | 超碰97免费| 免费看久久 | 91视频在线免费下载 | 日韩中文在线播放 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 97夜夜澡人人爽人人免费 | a√国产免费a | 亚洲精品成人在线 | 亚州人成在线播放 | 成年人在线电影 | 亚洲在线观看av | 国产va饥渴难耐女保洁员在线观看 | 欧美成人精品欧美一级乱 | 欧美色图亚洲图片 | 久久黄色网页 | 婷婷色av| .精品久久久麻豆国产精品 亚洲va欧美 | 高清国产在线一区 | 亚洲老妇xxxxxx | 在线黄av | 成人高清av在线 | 久久欧美精品 | 精品欧美一区二区三区久久久 | 黄色av观看| 欧美性生活久久 | 西西4444www大胆无视频 | www国产亚洲精品久久麻豆 | 午夜少妇一区二区三区 | 91九色网址| 国产精品九九九 | 国产一区久久 | 在线观看日本韩国电影 | 中文字幕亚洲不卡 | 久久综合之合合综合久久 | 99精品国产一区二区三区麻豆 | 精品亚洲免费视频 | 中文在线www | 激情五月婷婷激情 | 亚洲精品伦理在线 | 国产精品不卡在线播放 | 久久日本视频 | 亚洲成人资源在线 | 国产亚洲人成网站在线观看 | 国产一区自拍视频 | 色在线免费 | 91九色porny蝌蚪主页 | 丰满少妇对白在线偷拍 | 国产丝袜一区二区三区 | 婷婷色网 | 中文字幕在线观看视频网站 | 久久久久北条麻妃免费看 | 天堂av网站 | 激情动态 | 国产精品毛片一区二区在线 | 免费成人av| 欧美性做爰猛烈叫床潮 | 三级视频片 | 东方av在线免费观看 | 久久av中文字幕片 | 一区二区三区在线观看免费视频 | 日韩成人看片 | 国产成人一区二区三区在线观看 | 99免费在线观看视频 | 黄色特级一级片 | 日本中文字幕网站 | 亚洲欧美经典 | 97视频在线观看网址 | 成人在线观看资源 | 在线三级播放 | 国产小视频在线免费观看 | 天天操操 | 精品美女视频 | 色婷婷久久久综合中文字幕 | 天天色视频 | 色婷婷综合久久久中文字幕 | 大型av综合网站 | 国产日韩三级 | 黄色的视频网站 | 久久久久久久久久影院 | 久草在线免费资源站 | 美女一区网站 | 99在线播放| 一级黄视频 | 亚洲精品动漫成人3d无尽在线 | 91av免费观看 | 99精品在这里 | 性日韩欧美在线视频 | 97日日| 中文字幕视频免费观看 | 97精品国产97久久久久久粉红 | 天天干天天怕 | 91人人在线| 免费在线看成人av | 在线欧美日韩 | 91精品啪啪 | 精品美女久久久久久免费 | 欧美日韩精品在线播放 | 天天做天天爱天天综合网 | www夜夜 | 中文字幕视频观看 | 久久不射网站 | 成年人av在线播放 | 国产99在线播放 | 久久韩国免费视频 | 国产精品麻豆欧美日韩ww | 久久激情视频网 | 青青久视频 | 日韩精品在线一区 | 91视频91蝌蚪 | 五月婷网| 福利av影院 | 日韩 精品 一区 国产 麻豆 | 91精品视频一区二区三区 | 中文字幕 在线看 | 日日干综合 | 欧美a级在线播放 | 久久99久久99精品免视看婷婷 | 二区视频在线 | 91超碰在线播放 | 91视频电影| 久久99国产精品视频 | av免费在线观看网站 | 一二三区视频在线 | 视频一区在线免费观看 | 日韩午夜av | 国产精品久久久久久久久久白浆 | 最新超碰在线 | 欧美日韩激情视频8区 | 人人插超碰 | 在线观看免费91 | 三级黄色a| 欧洲激情在线 | 高清在线一区二区 | 日韩成人精品在线观看 | www.久草.com | 天天操天天干天天综合网 | 免费高清国产 | 最近字幕在线观看第一季 | 日韩美女黄色片 | 亚洲天天综合 | 久久久精品欧美 | 国产无区一区二区三麻豆 | 国产一级二级在线观看 | 成人午夜剧场在线观看 | 国产成人免费av电影 | 国产精品永久久久久久久www | 久久久久久蜜桃一区二区 | 91精品专区 | 91夜夜夜 | 97人人艹| 天天干天天插伊人网 | 国产精品私人影院 | 国产高清永久免费 | 久久久久国产精品厨房 | 一区二区三区在线影院 | 黄色毛片视频 | 精品伦理一区二区三区 | 久草在线免费播放 | 久久综合久久伊人 | 国产精品久久99精品毛片三a | 四虎在线视频 | 精品国产一区二区三区日日嗨 | 日本中文字幕免费观看 | 黄p在线播放 | 99精品国产免费久久久久久下载 | 久久久久久久久久久久电影 | 夜夜操狠狠干 | 天堂激情网 | 国产一级二级在线 | 精品99久久 | 黄色av网站在线观看免费 | 国产成人一区二区三区影院在线 | 99久久精| 日韩一三区 | 亚洲综合成人在线 | 欧美一区二区三区在线看 | 免费在线国产精品 | 在线av资源| 中文字幕在线高清 | 天堂网av 在线| 色吊丝av中文字幕 | 精品产品国产在线不卡 | 日日综合 | 国产96在线 | 久久99深爱久久99精品 | 日日夜夜精品 | 国产高清一 | 日韩久久电影 | 国产精品99久久久精品免费观看 | 久草视频看看 | 精品国产乱码久久久久久1区2匹 | 久久精品久久99精品久久 | 伊人婷婷网 | 色在线免费 | 91私密保健 | 国产精品在线看 | 91免费视频国产 | 一区二区视 | 成人av资源网站 | 日韩毛片在线一区二区毛片 | 蜜桃视频色 | 激情五月婷婷综合 | 热久久这里只有精品 | 国产精品视频免费在线观看 | 亚洲成aⅴ人在线观看 | 毛片永久免费 | 色吊丝在线永久观看最新版本 | 婷婷在线综合 | 亚洲日本色 | 亚洲精品影视在线观看 | 黄色免费在线视频 | 91成人免费观看视频 | 国产一级黄色免费看 | 五月婷婷中文网 | 国产精品女主播一区二区三区 | 国产精品一区久久久久 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 国产成人黄色网址 | 国产二区视频在线观看 | 久久看毛片 | 国产第一页福利影院 | 激情伊人 | 人人射人人爽 | 国产精品久久久久久久久久白浆 | 日韩在线大片 | 日韩av视屏在线观看 | 日韩在线资源 | 亚洲最大的av网站 | 久久久视频在线 | 99爱在线| 伊人久久一区 | 国产精品久久久久久久久久久久久久 | 夜夜骑首页 | 久操免费视频 | 99精品免费久久久久久日本 | 国产精品福利小视频 | 成人在线免费视频 | 国精产品999国精产品视频 | 久久精品国产亚洲 | 探花视频免费在线观看 | 亚洲综合在线发布 | 一级黄色片在线免费观看 | 一区二区三区日韩在线 | av888.com| 免费视频国产 | 久久成人人人人精品欧 | 国产色区| 91视频成人免费 | 五月婷婷精品 | 黄色av网站在线免费观看 | 亚洲好视频 | 99久e精品热线免费 99国产精品久久久久久久久久 | 欧美成人69av| 成人免费 在线播放 | 伊人久久精品久久亚洲一区 | 国产一二三四在线观看视频 | 99精品一级欧美片免费播放 | 国产在线最新 | 91丝袜美腿 | 日韩中文字幕网站 | 天天射天天射天天 | 欧美aaa级片 | 亚洲精品小视频 | jizz999| 国产视频一 | 亚洲欧美视频在线观看 | 日韩高清一区 | 国内丰满少妇猛烈精品播放 | 免费在线观看av网站 | a国产精品| 久草久草久草久草 | 在线黄色国产电影 | 亚洲精品资源在线 | 亚洲视频精品 | 国产精品美女视频网站 | 丁香花在线视频观看免费 | 91av欧美 | 91伊人久久大香线蕉蜜芽人口 | 成 人 a v天堂 | 992tv又爽又黄的免费视频 | 久久人人看 | 五月色婷 | 91久久国产露脸精品国产闺蜜 | 黄色小网站免费看 | 亚洲第一区在线观看 | 毛片a级片| 久久久国产影视 | 91亚色免费视频 | av黄色免费网站 | 成年性视频 | 久久性生活片 | 久草影视在线 | 亚洲精品动漫成人3d无尽在线 | 国产69精品久久久久久久久久 | 极品久久久久久久 | 日韩久久精品一区二区三区下载 | 99视频免费观看 | 国产精品久久在线 | 日韩国产精品毛片 | 91精品一区二区在线观看 | 一区二区三区四区不卡 | 在线黄av | 96看片| 国产精品原创av片国产免费 | 亚洲国产大片 | 日日干天天插 | 在线亚洲精品 | 黄色在线视频网址 | 日操操 | 在线精品一区二区 | 在线免费观看视频一区 | 国产精品久久久久久久久久妇女 | 亚洲精品在线免费播放 | 日韩精品一区二区在线视频 | 久久综合五月 | 在线播放日韩av | 国产一二三四在线视频 | 欧美精品三级在线观看 | 天天色中文 | 麻豆精品在线视频 | av在线网站免费观看 | 伊人精品在线 | 国产精品成人aaaaa网站 | 韩国在线一区二区 | 久热电影 | 91av视频在线播放 | 97超碰在线久草超碰在线观看 | 人人射人人射 | 最新国产中文字幕 | 色偷偷网站视频 | 欧美国产亚洲精品久久久8v | 久久r精品 | 国产a级片免费观看 | 精品理论片 | 成人动态视频 | 亚洲高清国产视频 | 天天摸天天操天天爽 | 天天干天天插伊人网 | 国产一区二区精品久久 | 国产黄色电影 | 亚洲国产精品视频 | 99麻豆视频 | 免费看的视频 | 中文字幕在线观看网 | 91.dizhi永久地址最新 | 国产精品视频内 | 国产亚洲久一区二区 | 成人av资源网 | 欧美性天天 | 99久久久久久国产精品 | 色之综合网 | 欧美日韩亚洲精品在线 | 五月天免费网站 | 亚洲国产精品视频在线观看 | 成人免费观看av | 欧美一级电影 | 亚洲国产精品激情在线观看 | 国产亚洲观看 | 日韩中文在线播放 | 97av精品| 亚洲一级片在线看 | 国产成人久久精品亚洲 | 精品亚洲一区二区 | 国产伦理一区二区 | 婷婷去俺也去六月色 | 精品亚洲视频在线观看 | 色综合久久久久久久 | 久久精品一区二区三区视频 | 丁香婷婷基地 | 综合网五月天 | 毛片随便看 | 狠狠色噜噜狠狠 | 91福利免费| 成人网页在线免费观看 | 亚洲手机天堂 | 久久一级电影 | 六月丁香色婷婷 | 国产黄色精品 | av丁香| 中文字幕a在线 | 日韩欧美电影网 | 五月婷婷影院 | 7777xxxx| 日韩成人免费电影 | 夜夜澡人模人人添人人看 | 国产精品乱码久久 | 操夜夜操 | 久久手机精品视频 | 欧美日韩不卡一区二区 | 天天操天天干天天操天天干 | 97电影在线观看 | 99久久精品免费看国产免费软件 | 欧美日韩中文在线 | 久久精品中文字幕 | 久久99精品久久只有精品 | 久久嗨| 亚洲va男人天堂 | 黄色av网站在线观看免费 | 五月婷婷欧美视频 | 9在线观看免费高清完整版在线观看明 | 天天干,天天插 | www.夜色.com| 亚洲成a人片综合在线 | 久久精品99国产精品日本 | 国产美女被啪进深处喷白浆视频 | 亚洲最新视频在线 | 国产精品午夜在线观看 | 超碰在线人 | 国产精品国产三级国产专区53 | 国产三级午夜理伦三级 | 精品国产一区二区三区日日嗨 | 麻豆视频免费入口 | 99视频在线精品国自产拍免费观看 | 天天在线免费视频 | 午夜a区| 国产在线精品一区二区 | 亚洲va天堂va欧美ⅴa在线 | 久久精品精品电影网 | 久久免费视频在线观看6 | 黄网站大全 | 久久伊人精品天天 | 国产美女精彩久久 | 久久久午夜精品理论片中文字幕 | 午夜视频免费播放 | 亚洲精品国产品国语在线 | 日韩黄色免费电影 | 91在线免费视频 | 狠狠狠色丁香婷婷综合激情 | 久久99国产精品久久 | 欧美疯狂性受xxxxx另类 | 久久久久欠精品国产毛片国产毛生 | 五月天综合激情 | 探花视频免费观看高清视频 | 亚洲h色精品| 国产资源在线观看 | 视频99爱 | 欧美激情h| 成人性生交大片免费看中文网站 | 国产在线视频不卡 | 在线免费观看黄 | 亚洲毛片视频 | 伊人电影天堂 | 欧美精品久久 | 二区三区精品 | 日韩另类在线 | 中文字字幕在线 | 天天天天天天干 | 欧美日韩亚洲在线观看 | 人人爽人人爱 | av丝袜美腿 | 精品久久五月天 | 日韩黄色在线电影 | 国产亚洲综合在线 | 免费91在线观看 | 国产精品成人久久久 | 麻豆91小视频| 成年人国产视频 | 中文字幕亚洲精品日韩 | 综合激情久久 | 91久久国产精品 | 亚洲精品网址在线观看 | 欧美日韩国产在线 | va视频在线观看 | 激情欧美一区二区免费视频 | 欧美日韩免费观看一区二区三区 | 成人国产精品一区二区 | 日韩在线观看你懂得 | 亚洲成人国产精品 | 中文字幕在线观看一区二区 | 久久草网 | 国产成人精品综合久久久 | 69久久99精品久久久久婷婷 | 久久久久欧美精品999 | www国产一区 | 中文字幕2021 | 青青啪| 最新av网站在线观看 | 亚洲伊人成综合网 | 中文字幕欧美三区 | 色综合久久五月天 | 国精产品999国精产品视频 | 全黄网站| 精品1区二区 | 国产亚洲日 | 午夜在线免费观看 | 成人黄色在线看 | 亚洲国产欧美一区二区三区丁香婷 | 综合色亚洲| 国色综合 | 欧美精品免费视频 | 视频二区在线视频 | 午夜国产福利在线 | 激情中文在线 | 精品国产一区二区三区免费 | 久久av一区二区三区亚洲 | 亚洲精品国产自产拍在线观看 | 在线视频 影院 | 日韩精品播放 | 久久亚洲精品电影 | 欧美日韩久久不卡 | 日本99热| 中文有码在线 | 日本成人a| 国产精品免费一区二区三区在线观看 | 亚洲精品久久久久中文字幕m男 | 欧美一级视频一区 | 国产无吗一区二区三区在线欢 | 天天天操操操 | 亚洲伦理电影在线 | 中文字幕av最新 | 国产成a人亚洲精v品在线观看 | 中文字幕一区二区三区乱码不卡 | 就色干综合 | 日韩视频一区二区在线观看 | 精品一区二区三区久久久 | h久久| 日韩久久一区二区 | 亚洲成av人影院 | 欧美日韩久 | 中文字幕美女免费在线 | 国产裸体无遮挡 | 成人在线观看网址 | 日本中文字幕在线播放 | 中文字幕在线播放视频 | 中文字幕一区二区在线观看 | 黄免费网站 | 亚洲成人免费在线观看 | 久久婷婷亚洲 | 亚洲一区视频免费观看 | 欧美性生活小视频 | 福利视频导航网址 | 西西人体4444www高清视频 | 国产一区自拍视频 | 欧美日韩二三区 | 深夜免费福利网站 | 狠狠的操狠狠的干 | 51久久成人国产精品麻豆 | 中文字幕精品视频 | 丁香婷婷基地 | 日韩丝袜视频 | 91网免费看 | 久久久久人人 | 在线看国产 | 亚洲爱av | 就色干综合 | 久久国语露脸国产精品电影 | 色视频网站在线 | 97日日 | 天天干.com| 97超碰在线久草超碰在线观看 | 在线观看免费av网 | 日韩久久久久久 | 天天综合视频在线观看 | 激情综合网五月婷婷 |