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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

CobarClient源码分析

發(fā)布時(shí)間:2025/3/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CobarClient源码分析 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

CobarClient是阿里巴巴公司開(kāi)發(fā)一個(gè)的開(kāi)源的、基于iBatis和Spring的分布式數(shù)據(jù)庫(kù)訪問(wèn)層。為了支持iBatis,Spring框架提供了一個(gè)SqlMapClientTemplate,通過(guò)模板模式簡(jiǎn)化了在Spring框架中對(duì)于iBatis中的使用。而CobarClient則繼承了SqlMapClientTemplate,提供了CobarSqlMapClientTemplate給應(yīng)用使用。CobarSqlMapClientTemplate和SqlMapClientTemplate繼承關(guān)系如下:

CobarSqlMapClientTemplate持有的眾多屬性中,比較重要的有cobarDataSourceService(提供多數(shù)據(jù)源的管理服務(wù))、router(Sql路由接口的實(shí)現(xiàn))、concurrentRequestProcessor(Sql并發(fā)執(zhí)行的命令類),下面就從路由規(guī)則到最終的Sql執(zhí)行來(lái)分析一下CobarClient的原理。

  • 路由規(guī)則的生成與執(zhí)行。
  • 根據(jù)CobarClient的文檔,CobarClient一共提供了四種路由規(guī)則:

    • NamespaceShardingRule:針對(duì)iBatis中Sql Map定義的,屬于某一個(gè)NameSpace的Sql語(yǔ)句執(zhí)行某一個(gè)路由規(guī)則,根據(jù)路由的結(jié)果選擇一個(gè)或者多個(gè)數(shù)據(jù)分區(qū)。
    • Namespace(Only)Rule:針對(duì)iBatis中Sql Map定義的,屬于某一個(gè)NameSpace的Sql語(yǔ)句無(wú)差別的將Sql語(yǔ)句路由到一個(gè)或者多個(gè)數(shù)據(jù)分區(qū)。
    • SqlActionShardingRule:針對(duì)iBatis中Sql Map定義的某一個(gè)Sql Id對(duì)應(yīng)的Sql語(yǔ)句,執(zhí)行某一個(gè)路由規(guī)則,根據(jù)路由的結(jié)果選擇一個(gè)或者多個(gè)數(shù)據(jù)分區(qū)。
    • SqlAction(Only)Rule:針對(duì)iBatis中Sql Map定義的某一個(gè)Sql Id對(duì)應(yīng)的Sql語(yǔ)句,無(wú)差別的將這個(gè)語(yǔ)句路由到一個(gè)或者多個(gè)數(shù)據(jù)分區(qū)。

    ?

    ?

    在CobarClient中這四個(gè)路由規(guī)則,分別對(duì)應(yīng)四個(gè)具體的實(shí)現(xiàn)類,而這四個(gè)實(shí)現(xiàn)類,都實(shí)現(xiàn)了IRoutingRule這個(gè)接口,繼承關(guān)系如下所示:

    在4種路由規(guī)則分別具體對(duì)應(yīng)的實(shí)現(xiàn)類中,都實(shí)現(xiàn)了isDefinedAt(IBatisRoutingFact routingFact)這個(gè)方法,這個(gè)方法實(shí)現(xiàn)的功能判斷現(xiàn)在要執(zhí)行的Sql語(yǔ)句是不是可以匹配當(dāng)前的路由規(guī)則實(shí)例。這個(gè)方法的參數(shù),routingFact的類型是IBatisRoutingFact,代表的是一個(gè)路由上下文信息:

    public class IBatisRoutingFact {   private String action; // SQL identity   private Object argument; // the argument of SQL action } 舉個(gè)例子,看看IBatisNamespaceRule類中isDefinedAt方法的實(shí)現(xiàn)如下: public boolean isDefinedAt(IBatisRoutingFact routingFact) {   Validate.notNull(routingFact);   String namespace = StringUtils.substringBeforeLast(routingFact.getAction(), ".");   return StringUtils.equals(namespace, getTypePattern()); }

    實(shí)際完成的工作很簡(jiǎn)單,就是看看當(dāng)前的Sql Id的NameSpace是否和規(guī)則定義的NameSpace一致,如果一致,表示使用該路由規(guī)則。清楚了路由規(guī)則的實(shí)現(xiàn)之后,那么這么多路由規(guī)則又是怎么匯總到CobarSqlMapClientTemplate中的呢?根據(jù)CobarClient文檔中的說(shuō)明:

    默認(rèn)情況下, CobarClientInternalRouter將接收4組不同類型的路由規(guī)則, 但路由規(guī)則的類型對(duì)于用戶來(lái)說(shuō)實(shí)際上是不必要的, 所以, 為了避免用戶過(guò)多的糾纏于CobarClientInternalRouter的實(shí)現(xiàn)細(xì)節(jié), 我們給出了針對(duì)CobarClientInternalRouter配置的一個(gè)Spring的FactoryBean實(shí)現(xiàn), 以幫助簡(jiǎn)化CobarClientInternalRouter的配置, 該FactoryBean實(shí)現(xiàn)類為com.alibaba.cobar.client.router.config.CobarInteralRouterXmlFactoryBean。CobarInteralRouterXmlFactoryBean將根據(jù)指定的xml形式的配置文件中的內(nèi)容, 自動(dòng)構(gòu)建不同類型的路由規(guī)則, 然后注入到它將最終返回的CobarClientInternalRouter實(shí)例之上。 而讀取, 解析配置信息, 并構(gòu)建不同類型路由規(guī)則等 “瑣事” 將完全對(duì)用戶透明。

    一個(gè)典型的路由規(guī)則文件可能如下

    <rules> <rule> <namespace>com.alibaba.cobar.client.entity.Follower</namespace> <shards>partition1</shards> </rule> <rule> <sqlmap>com.alibaba.cobar.client.entity.Follower.create</sqlmap> <shards>p1, p2</shards> </rule> <rule> <sqlmap>com.alibaba.cobar.client.entity.Follower.create</sqlmap> <shardingExpression>id&gt;10000 and id&lt; 20000</shardingExpression> <shards>p1, p2</shards> </rule> <rule> <namespace>com.alibaba.cobar.client.entity.Follower</namespace> <shardingExpression>id&gt;10000 and id&lt; 20000</shardingExpression> <shards>p1, p2</shards> </rule> </rules> 解析了完所有的路由規(guī)則配置文件之后,CobarClientInternalRouter類的實(shí)例將持有一個(gè)List,該List的定義如下: private List<Set<IRoutingRule<IBatisRoutingFact, List<String>>>> ruleSequences

    實(shí)際上,這個(gè)List只有4個(gè)元素,每一個(gè)元素是一個(gè)集合,分別對(duì)應(yīng)之前提到的四種路由規(guī)則。而每個(gè)集合中的元素都是一個(gè)具體的規(guī)則實(shí)現(xiàn)類。當(dāng)具體執(zhí)行一個(gè)Sql語(yǔ)句之前,CobarSqlMapClientTemplate通過(guò)它持有的CobarClientInternalRouter實(shí)例的doRoute方法來(lái)實(shí)現(xiàn)具體的路由規(guī)則選擇,可見(jiàn)CobarClientInternalRouter實(shí)際上充當(dāng)了一個(gè)門面(Facade)的作用,匯總了所有的路由信息,而且CobarSqlMapClientTemplate是一個(gè)更高層的門面。
    ?? 在doRoute方法中,有兩層循環(huán),第一層循環(huán),遍歷ruleSequence這個(gè)List,第二層循環(huán)遍歷List中每個(gè)Set

    for (Set<IRoutingRule<IBatisRoutingFact, List<String>>> ruleSet : getRuleSequences()) {   ruleToUse = searchMatchedRuleAgainst(ruleSet, routingFact); if (ruleToUse != null) {   break; } } 在searchMatchedRuleAgainst方法中,執(zhí)行第二次遍歷 for (IRoutingRule<IBatisRoutingFact, List<String>> rule : rules) {   if (rule.isDefinedAt(routingFact)) {   return rule; } }

    在這里最終調(diào)用之前提到的isDefinedAt方法,兩次遍歷了ruleSequence之后,將獲得一個(gè)Map,
    SortedMap<String, DataSource> resultMap 表示的這次Sql語(yǔ)句執(zhí)行需要用對(duì)應(yīng)的數(shù)據(jù)源。

    2.Sql的執(zhí)行
    ?? 當(dāng)CobarSqlMapClientTemplate通過(guò)CobarClientInternalRouter獲取到了本次Sql執(zhí)行對(duì)應(yīng)的數(shù)據(jù)源之后,將進(jìn)入到Sql執(zhí)行的階段。在Spring框架中,提供了一個(gè)接口SqlMapClientCallback接口,CobarSqlMapClientTemplate在每一次執(zhí)行Sql語(yǔ)句之前,都會(huì)生成一個(gè)SqlMapClientCallback的內(nèi)部類,該內(nèi)部類實(shí)現(xiàn)了SqlMapClientCallback接口中定義的回調(diào)函數(shù),doInSqlMapClient。例如,在某一次查詢語(yǔ)句之前,對(duì)應(yīng)的內(nèi)部類可能是:

    callback = new SqlMapClientCallback() {   public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {    return executor.queryForList(statementName, parameterObject,skipResults, maxResults); } };

    具體到Sql語(yǔ)句的執(zhí)行,CobarClient命令模式結(jié)合回調(diào)函數(shù)的方式來(lái)實(shí)現(xiàn),標(biāo)準(zhǔn)的命令模式結(jié)構(gòu)圖如下:

    在CobarSqlMapClientTemplate中,擔(dān)任ConcreteCommand角色的是IConcurrentRequestProcessor,它的執(zhí)行方法為:

    List<Object> process(List<ConcurrentRequest> requests)

    不同的是,為了支持Sql并行執(zhí)行,這里傳入的不是單個(gè)的request,而是由多個(gè)ConcurrentRequest類型的request組成的List(這里的ConcurrentRequest可以看成命令模式的中的Receiver),不同的是在ConcurrentRequest類中是通過(guò)多線程加調(diào)用SqlMapClientCallback中的回調(diào)函數(shù)的方式來(lái)實(shí)現(xiàn)命令模式中Receiver的action方法的。在IConcurrentRequestProcessor調(diào)用process方法之后,會(huì)通過(guò)多線程的方式來(lái)執(zhí)行SqlMapClientCallback中的回調(diào)函數(shù),

    request.getExecutor().submit(new Callable<Object>() { public Object call() throws Exception { try { return executeWith(connection, action); } finally { latch.countDown(); } } } )

    executeWith中connection具體的數(shù)據(jù)源的連接,action就是之前提到的匿名內(nèi)部類,在executeWith方法中,會(huì)調(diào)用這個(gè)內(nèi)部的回調(diào)函數(shù):

    protected Object executeWith(Connection connection, SqlMapClientCallback action) { SqlMapSession session = getSqlMapClient().openSession(); try { try { session.setUserConnection(connection); } catch (SQLException e) { throw new CannotGetJdbcConnectionException("Could not get JDBC Connection", e); } try { return action.doInSqlMapClient(session); } catch (SQLException ex) { throw new SQLErrorCodeSQLExceptionTranslator().translate("SqlMapClient operation", null, ex); } } finally { session.close(); } }

    當(dāng)執(zhí)行完SqlMapClientCallback中的doInSqlMapClient方法之后,CobarSqlMapClientTemplate還會(huì)對(duì)多個(gè)Sql語(yǔ)句執(zhí)行獲取的結(jié)果進(jìn)行簡(jiǎn)單的合并之后在返回給應(yīng)用程序,至此,整個(gè)Sql的分布式數(shù)據(jù)庫(kù)執(zhí)行才算結(jié)束。

    3. 一點(diǎn)體會(huì)
    CobarClient擴(kuò)展了Spring提供的SqlMapClientTemplate,在Sql執(zhí)行之前根據(jù)數(shù)據(jù)路由規(guī)則獲取了真正要執(zhí)行的數(shù)據(jù)分區(qū),在Sql執(zhí)行之后在進(jìn)行結(jié)果集的簡(jiǎn)單合并,最終實(shí)現(xiàn)了分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)路由功能,但是CorBarClient不是沒(méi)有缺點(diǎn)

  • 數(shù)據(jù)合并功能的羸弱:CobarClient并沒(méi)有引入Sql語(yǔ)句的解析,對(duì)于數(shù)據(jù)的合并是在應(yīng)用層做的,而且現(xiàn)在只能支持簡(jiǎn)單的合并,當(dāng)應(yīng)用程序有比較復(fù)雜的結(jié)果集處理要求的時(shí)候,例如order by,group by等,需要自己去實(shí)現(xiàn)merge類,而且由于沒(méi)有Sql語(yǔ)句的解析,即使實(shí)現(xiàn)了,也很難做到通用。
  • 路由算法的效率:根據(jù)CobarClient的文檔:
    ???????? 我們可以根據(jù)情況提供不同的ICobarRouter實(shí)現(xiàn)類, 比如Cobar Client默認(rèn)提供的com.alibaba.cobar.client.router.CobarClientInternalRouter和 om.alibaba.cobar.client.router.DefaultCobarClientInternalRouter, 或者如果路由規(guī)則數(shù)量很多, 為了保證性能, 也可以實(shí)現(xiàn)基于Rete等算法的實(shí)現(xiàn)類等. 沒(méi)有特殊需求的情況下,我們默認(rèn)采用CobarClientInternalRouter作為CobarSqlMapClientTemplate使用的 默認(rèn)Router實(shí)現(xiàn). 但用戶也可以根據(jù)情況選用DefaultCobarClientInternalRouter, 二者的使用是類似的。DefaultCobarClientInternalRouter在CobarClientInternalRouter的基礎(chǔ) 上, 對(duì)路由規(guī)則的匹配進(jìn)行了分組優(yōu)化, 通過(guò)配置時(shí)期的復(fù)雜度換取運(yùn)行時(shí)期的簡(jiǎn)單高效。 如果規(guī)則很多的話,可以考慮使用DefaultCobarClientInternalRouter。
    ??????? 之前代碼分析的CobarClientInternalRouter的doRoute實(shí)現(xiàn),在兩層的循環(huán)中,如果有n個(gè)具體的路由規(guī)則,那么最壞的情況,要執(zhí)行n次路由判斷,算法的效率是O(n)。文檔說(shuō)DefaultCobarClientInternalRouter的doRoute實(shí)現(xiàn)效率更高(但是DefaultCobarClientInternalRouter的doRoute方法沒(méi)有用到cache,而CobarClientInternalRouter用到了),但實(shí)際上只是對(duì)于ruleSequences根據(jù)Namespace做了分組,那么當(dāng)有n個(gè)路由規(guī)則,m個(gè)namespace的時(shí)候,算法的效率是O(n/m)。由于在每個(gè)sql語(yǔ)句執(zhí)行之前,都需要執(zhí)行doRoute方法來(lái)路由,所以如果用HashMap來(lái)保存Sql Id和路由規(guī)則的對(duì)應(yīng)關(guān)系,算法的效率將提高到O(1),這樣算法的時(shí)間消耗不會(huì)隨著路由規(guī)則的增多而增長(zhǎng)。
  • 路由規(guī)則的設(shè)計(jì)和解析:路由規(guī)則的解析,CobarClient使用的XStream這個(gè)開(kāi)源的包,這樣的話,當(dāng)路由規(guī)則文件要新增結(jié)點(diǎn)或者某個(gè)結(jié)點(diǎn)要新增屬性的時(shí)候,XStream并不能做到很靈活。此外,CobarInteralRouterXmlFactoryBean中根據(jù)路由規(guī)則解析文件的時(shí)候,基本上都是用if else的語(yǔ)句來(lái)做判斷的,這是一種代碼的壞味道。此外,根據(jù)之前路由規(guī)則的繼承圖可以看到,在具體的路由規(guī)則實(shí)現(xiàn)類之上,還有三個(gè)抽象的路由規(guī)則類,我推倒是CobarClient的設(shè)計(jì)者剛開(kāi)始的時(shí)候,是為了以后的路由規(guī)則能夠擴(kuò)展,但是他最后發(fā)現(xiàn)四種規(guī)則就能涵蓋一切情況,但是沒(méi)有對(duì)代碼進(jìn)行必要的重構(gòu)。
  • 代碼的風(fēng)格:這是一個(gè)小問(wèn)題,但是確實(shí)很影響代碼的理解。例如在iBatis語(yǔ)境中默認(rèn)的Sql Id到了IBatisRoutingFact就變成
    private String action了。Rule文件中的namespace到了具體的規(guī)則類之中,就變成了private String typePatten。這種情況充斥于整個(gè)代碼之中,于是最后你能發(fā)現(xiàn),ICobarRouter的默認(rèn)實(shí)現(xiàn)類是CobarClientInternalRouter而不是DefaultCobarClientInternalRouter。
  • 瑕不掩瑜,如果需要一個(gè)輕量級(jí)的,支持分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)訪問(wèn)層框架,并且應(yīng)用不需要對(duì)于查詢的結(jié)果集做過(guò)于復(fù)雜的排序聚會(huì)等操作,CobarClient是一個(gè)不錯(cuò)的選擇。

    轉(zhuǎn)載于:https://www.cnblogs.com/javanerd/p/3551831.html

    總結(jié)

    以上是生活随笔為你收集整理的CobarClient源码分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

    中中文字幕av | 成人小视频免费在线观看 | www免费视频com | 免费看的av片| 欧美日韩国产一二三区 | 久久蜜臀一区二区三区av | 国产成人精品一区二区三区在线观看 | 国产精品乱码一区二三区 | 日韩特级片 | 久久久久久国产精品免费 | 国产色视频一区二区三区qq号 | 亚洲免费视频观看 | 久久精品国产免费看久久精品 | 国产综合婷婷 | 国产中文欧美日韩在线 | 超碰在线最新地址 | 在线观看日本高清mv视频 | 久久精品99国产精品酒店日本 | 黄色最新网址 | 免费在线中文字幕 | 在线最新av | 黄色大片免费播放 | 五月婷婷在线视频观看 | 毛片888| 有码中文字幕 | 久久视频国产 | 91亚洲国产成人久久精品网站 | 亚洲日本一区二区在线 | 亚洲黄色成人网 | 在线看国产日韩 | 2024av | 亚洲欧美色婷婷 | 91视频 - x99av | 日日干精品 | 久久午夜免费观看 | www.五月天婷婷 | 国产精品黄网站在线观看 | 99在线精品视频观看 | 在线观看国产日韩欧美 | 成人国产精品久久久 | 久久精品中文 | www.综合网.com | 久久精视频 | 久久免费视频5 | 久久久午夜视频 | 中文字幕在线有码 | 日韩高清久久 | 国产日韩精品在线观看 | 国产又粗又猛又黄视频 | 色欧美88888久久久久久影院 | 中文免费观看 | 国产成本人视频在线观看 | 久久线视频 | 亚洲精品国产免费 | 在线播放91 | 在线日韩 | 中文字幕在线播放日韩 | 国产中文字幕三区 | 婷婷亚洲综合 | 婷婷视频在线观看 | 亚洲 欧洲av | 久久精品国产免费看久久精品 | 夜夜夜精品| 不卡视频在线 | 少妇性bbb搡bbb爽爽爽欧美 | 少妇自拍av| 免费亚洲精品 | 国产毛片在线 | 久草网视频| 中文字幕 国产视频 | www.久久色| 国产亚洲久一区二区 | 国产福利av在线 | 蜜臀av夜夜澡人人爽人人 | 国产视频在线观看一区 | 深爱激情开心 | 免费特级黄毛片 | 日韩免费b | 97电院网手机版 | 久久99精品一区二区三区三区 | 色婷婷一区 | 99 色 | 91精品成人 | 国产亚洲在线视频 | 久久免费视频2 | 日韩高清在线一区二区 | 91九色视频观看 | 亚洲成人精品 | 国产精品一区二区视频 | 丁香视频免费观看 | 国产96av| 久久久久成人精品免费播放动漫 | 天海冀一区二区三区 | 狠狠色伊人亚洲综合网站色 | 中文字幕日韩一区二区三区不卡 | 亚洲国内在线 | 国产美女被啪进深处喷白浆视频 | 天天久久夜夜 | 欧美在一区 | 激情综合色播五月 | 精品久久久久久久久久 | 五月天久久综合网 | 日本不卡一区二区三区在线观看 | 国产97在线视频 | 国产尤物视频在线 | 日韩欧美电影 | 人人射人人爽 | 最近能播放的中文字幕 | 欧美精品国产综合久久 | 久久美女视频 | 欧美日韩观看 | 天天干天天干天天干天天干天天干天天干 | 国产精品淫片 | 久久免费看毛片 | 在线电影 一区 | 日韩中文在线播放 | 精品国产久 | 91色在线观看 | 午夜免费福利视频 | 青青五月天 | 96久久精品 | 2018好看的中文在线观看 | 99视频国产精品免费观看 | 91视频一8mav | 国产成人av | 亚洲精品一区二区精华 | 国产精品青青 | 一级片在线 | 欧美作爱视频 | 成人久久久久久久久 | 欧美在线观看视频一区二区三区 | 国产精品免费麻豆入口 | 日韩在线短视频 | 国产视频不卡一区 | 亚洲黄色免费在线看 | 国产福利精品视频 | 97国产一区二区 | 日韩精品中字 | 91精品视频免费观看 | 天天色综合三 | 一本到视频在线观看 | 久久综合婷婷国产二区高清 | 亚洲综合视频在线 | av一本久道久久波多野结衣 | 97色se | 探花视频在线观看+在线播放 | 亚洲国产免费av | 在线观看v片 | 成人一区二区三区在线 | 久久精品国产久精国产 | 国产探花视频在线播放 | 免费毛片aaaaaa| 国产护士在线 | 国产国产人免费人成免费视频 | 808电影免费观看三年 | 精品一区二区在线免费观看 | 四虎在线视频 | 婷婷六月天在线 | 亚洲男男gaygay无套 | 99r在线视频 | 人人超碰97 | 免费久久99精品国产婷婷六月 | 天天摸天天操天天舔 | 中文字幕五区 | 久久亚洲综合国产精品99麻豆的功能介绍 | 久久久久久亚洲精品 | 欧美在线1区 | 成人久久久久久久久久 | 精品久久久久久久久久久久久久久久 | 999成人免费视频 | 国产一级大片免费看 | 色婷婷激情五月 | 免费在线一区二区 | 亚洲最大免费成人网 | 亚洲视频免费 | 日韩一级成人av | 欧美色888 | 91免费观看视频在线 | 激情电影影院 | 亚洲欧美日韩精品久久奇米一区 | 欧美日韩一区二区视频在线观看 | av品善网| 国产成人精品一区二区三区在线观看 | 91成人观看 | 欧美另类tv | 亚洲欧美日韩精品久久奇米一区 | 久久久精品久久日韩一区综合 | 天天操天天射天天舔 | 色鬼综合网| 久久激情综合网 | av资源免费在线观看 | 久草五月 | 五月婷视频 | 欧美视频日韩 | 中文字幕一区在线观看视频 | 国产午夜视频在线观看 | 欧美精品亚洲精品日韩精品 | 一二三四精品 | 波多野结衣一区二区 | 免费精品视频在线 | 狠狠激情中文字幕 | 日本在线观看中文字幕无线观看 | 91大神dom调教在线观看 | 精品黄色片| 四虎免费在线观看 | 97超碰免费在线 | 操高跟美女 | 久久久久久久久久久免费视频 | 久久久久久综合网天天 | 久草精品资源 | 又黄又爽又色无遮挡免费 | 国精产品一二三线999 | 日韩伦理一区二区三区av在线 | 一区二区三区四区不卡 | 亚洲国产免费看 | 欧美极品xxx | 狠狠色狠狠色综合日日92 | 午夜精品一区二区三区在线 | 在线免费视频 你懂得 | 亚洲国产高清在线观看视频 | 精品中文字幕在线观看 | 蜜臀久久99精品久久久无需会员 | 久久国产影院 | 国产精品久久久久9999吃药 | 国色综合 | 欧美午夜精品久久久久 | 天天色天天干天天色 | 久久在线免费视频 | 精品久久久久一区二区国产 | www.夜夜干.com | 久久视频这里有久久精品视频11 | 在线观看91 | 欧美激情视频三区 | 国产精品一区在线播放 | 色爱区综合激月婷婷 | 日日日干| 成人综合婷婷国产精品久久免费 | 激情自拍av | 国产无遮挡又黄又爽在线观看 | 午夜体验区 | 免费在线观看成年人视频 | 成人看片 | 91正在播放 | 99看视频在线观看 | 日本二区三区在线 | 久久久久久欧美二区电影网 | 国内一区二区视频 | 亚洲欧美国产精品久久久久 | 免费观看性生活大片 | 成在人线av | 免费精品在线 | 亚洲第一成网站 | 亚洲激情电影在线 | 欧美特一级 | 黄色一级大片在线免费看国产一 | 久草在| 人人爽人人澡人人添人人人人 | 嫩草av在线 | 91精品一区国产高清在线gif | 美女网站免费福利视频 | 美女视频久久久 | 中文字幕免费成人 | 久久久久久高潮国产精品视 | 麻豆超碰 | 香蕉一区 | 久久九九精品久久 | 日韩,精品电影 | 欧美一区二区在线免费看 | 日韩精品视频免费看 | 国产在线视频一区二区三区 | a视频在线| 最新的av网站 | 91福利社在线观看 | 亚洲另类交 | 香蕉影视app | 精品视频中文字幕 | 超碰国产在线 | 国产精品成人久久久久久久 | 欧美色操| 欧美 另类 交 | 欧美性久久久久久 | av久久在线 | 久久99视频免费 | 久久综合导航 | 97国产精品久久 | 亚洲精品乱码久久久久久9色 | 色婷婷av一区二 | 日日夜夜天天干 | 日日噜噜噜噜夜夜爽亚洲精品 | 一本一道久久a久久精品 | 日日爱影视 | 亚洲精品久久视频 | 亚洲天堂网在线视频 | 国产精品免费大片视频 | 国内精品久久久久久久影视简单 | 精品欧美一区二区精品久久 | 精品久久毛片 | 国产精品久久久久久久久软件 | 久久久精品午夜 | 亚洲精品91天天久久人人 | 国产黄大片 | 久久首页 | 午夜视频黄 | 看毛片网站 | 欧美视频xxx | 97在线视频免费播放 | av资源中文字幕 | 最新中文字幕在线观看视频 | 国产99久久精品一区二区永久免费 | 久久伦理视频 | 91在线视频播放 | 婷婷丁香在线视频 | 亚洲天堂va| 高清国产一区 | 欧美日韩国产二区 | 狠狠狠狠狠色综合 | 中文字幕在线字幕中文 | 国产精品你懂的在线观看 | 亚洲欧美国产日韩在线观看 | 久久99精品热在线观看 | 美女很黄免费网站 | 日韩色综合网 | 91传媒激情理伦片 | www.亚洲视频.com | 色婷婷亚洲 | 天堂av免费看 | 日日夜夜草| 中文字幕高清 | 91最新地址永久入口 | www国产在线 | 日韩高清一区在线 | 成在人线av | 日韩欧美视频一区二区 | 狠狠色伊人亚洲综合成人 | 国产成人精品一区二三区 | 欧美另类重口 | 18久久久久 | 欧美日韩免费视频 | 啪啪免费观看网站 | 91亚色免费视频 | 久久中文欧美 | 欧美最猛性xxxxx(亚洲精品) | 国产91影院| 欧美日韩一区二区三区在线观看视频 | 中文字幕一区二区三区乱码在线 | 成人综合婷婷国产精品久久免费 | 久久久久国产免费免费 | 92精品国产成人观看免费 | 精品中文字幕在线播放 | 在线观看中文字幕一区 | 亚洲成a人片在线www | 久久精品99国产精品日本 | 日日夜夜中文字幕 | 亚洲久草在线视频 | 亚洲激情在线观看 | 欧美91成人网 | 日韩在线网 | 婷婷综合电影 | 999久久国产 | 激情视频久久 | 青青五月天 | 欧美a级一区二区 | 日韩久久久 | 在线 国产 日韩 | 国产粉嫩在线观看 | 一区二区三区中文字幕在线 | 婷婷在线看 | 亚洲精品中文在线 | 中文字幕国产一区二区 | 高清av中文在线字幕观看1 | 亚洲婷婷伊人 | 91视频 - v11av| 人人干人人艹 | 精品视频免费久久久看 | 亚洲japanese制服美女 | 免费视频a | 亚洲高清精品在线 | 在线观看中文字幕dvd播放 | 久久国产亚洲精品 | 国产精品永久在线 | 在线观看91网站 | 天天干国产 | 少妇资源站| www好男人 | 亚洲不卡123 | 中文字幕av全部资源www中文字幕在线观看 | 九九视频免费观看视频精品 | 碰超人人| 中文字幕一区二区三区久久蜜桃 | 久久女同性恋中文字幕 | 欧美一级电影片 | 97超碰.com| 久久精品亚洲 | av片无限看| 国产中文字幕在线免费观看 | 久草在线免费资源 | 成人免费在线电影 | 中文字幕中文字幕中文字幕 | 九九在线精品视频 | 色多视频在线观看 | 日韩免费一二三区 | 成人网页在线免费观看 | 久久亚洲免费视频 | 国产精品久久久久久一二三四五 | 一级黄色片毛片 | 国产精品亚洲片夜色在线 | 九九激情视频 | 国产黄在线观看 | 在线小视频 | 亚洲欧洲精品一区二区 | 久久精品精品电影网 | 91九色蝌蚪视频 | 精品一区二区三区香蕉蜜桃 | 国产成人333kkk | 午夜精品99久久免费 | 麻豆精品视频在线观看免费 | 99久久99久久精品国产片果冰 | 日韩欧美99 | 97综合视频 | 狠狠操狠狠| 国产专区在线视频 | 欧美日韩免费一区二区 | 日韩网站免费观看 | 人人狠狠综合久久亚洲 | www.色综合.com | 欧美在线aaa | 国产中文字幕在线播放 | 六月婷操 | www91在线观看| 国产高清视频网 | 色网站在线免费 | 久久亚洲日本 | 免费在线观看日韩欧美 | 日韩精品免费在线视频 | 久久久综合色 | 久久人人射| 国产 日韩 在线 亚洲 字幕 中文 | 狠狠干干 | 精品无人国产偷自产在线 | 久久99免费 | 在线观看第一页 | 精品美女久久久久久免费 | 久久99热这里只有精品国产 | 日韩一级电影在线观看 | 五月天高清欧美mv | 91网在线看 | 日韩精品一区二区三区电影 | 国产一区二区精品久久91 | 亚洲a资源 | 欧美色久 | 麻豆国产精品永久免费视频 | 久久伊人综合 | 国产一级电影免费观看 | 91精品网站在线观看 | 久久国精品| 天堂av在线中文在线 | 色偷偷88888欧美精品久久久 | 国产精品第52页 | 在线看片91 | 色婷婷午夜 | 激情中文在线 | 激情婷婷色 | 韩日精品在线观看 | 伊人成人精品 | 久久久av免费 | 精品xxx | 欧美精品在线观看 | 国产福利一区二区在线 | 青青啪| 成人在线视频在线观看 | 99久久久久成人国产免费 | 人人超碰在线 | 国产日韩高清在线 | 福利av影院 | 亚洲 中文字幕av | 2019中文最近的2019中文在线 | 很黄很污的视频网站 | 99久久久久免费精品国产 | a级国产毛片 | 成年人在线观看 | 色999在线| av福利网址导航 | 91丨九色丨国产丨porny精品 | 国产精品一区二区三区视频免费 | 操少妇视频 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | www.天天干 | 婷婷色综合色 | 在线观看亚洲国产 | 日韩在线观看三区 | 免费亚洲片 | 伊人亚洲综合网 | 天天av综合网 | 中文字幕在线观 | 欧美一级在线观看视频 | 欧美超碰在线 | 国产va饥渴难耐女保洁员在线观看 | 在线观看 亚洲 | 在线国产一区二区三区 | 五月天久久综合网 | 国产日韩欧美精品在线观看 | 欧美地下肉体性派对 | 91中文在线观看 | 久久国产精品99久久人人澡 | 在线黄频 | 偷拍福利视频一区二区三区 | 91九色国产视频 | 精品一区在线 | 波多野结衣视频一区二区三区 | 超碰精品在线 | 91一区一区三区 | 天天操比 | 欧美在线1 | 久久久久久久久久影院 | 97超碰资源| 国产小视频在线播放 | 国产色 在线| 日韩a免费 | 91看片在线播放 | 欧美精品国产精品 | 男女全黄一级一级高潮免费看 | 亚洲精品国产综合久久 | 欧美性精品 | 久久精品国产免费看久久精品 | 久草com| 久久精品网址 | 国产区网址| 在线观看黄色国产 | av丁香 | 国产传媒一区在线 | 人人干狠狠干 | 日本爱爱片 | 免费看的视频 | 国产精品99久久久久久武松影视 | 国产精品专区在线观看 | 久久私人影院 | 人人爽人人爽人人片av | 69国产精品视频免费观看 | 免费网址在线播放 | 欧美在线视频一区二区三区 | 97国产一区 | 久久伦理 | 欧美激情精品久久久久久免费 | 久久国内视频 | 天堂av免费观看 | 亚洲国产精久久久久久久 | 四虎小视频 | 在线观看精品国产 | 日韩精品黄 | 91精品国产99久久久久 | 综合色爱| 日韩视频免费看 | 久久精品爱爱视频 | 久久久国产高清 | 日韩在线视频观看免费 | 黄色毛片一级 | 久草www| 2022久久国产露脸精品国产 | 99re6热在线精品视频 | 久久黄色片子 | 黄色视屏在线免费观看 | 国产精品一区免费在线观看 | 国产麻豆精品在线观看 | 欧美久草网 | 国产一区视频免费在线观看 | 久草视频在 | 99视频精品免费视频 | 日韩高清一二区 | 久久国产精品视频 | 日韩xxxx视频 | 一区二区三区在线播放 | 久草视频免费在线观看 | 中文字幕免费 | 91亚洲精品乱码久久久久久蜜桃 | 日韩理论电影网 | 国产视频在线观看一区 | 91丨九色丨91啦蝌蚪老版 | 久久久免费毛片 | 国产福利91精品一区 | 国产自产在线视频 | 成人免费观看a | 九九九热精品 | 欧美狠狠操 | 九色福利视频 | 久久精品国产亚洲aⅴ | 久草免费看 | 在线国产精品视频 | 99国产精品久久久久久久久久 | 成人va在线观看 | 在线免费三级 | 去干成人网 | 中文字幕高清免费日韩视频在线 | 91久久久久久国产精品 | 天天天天爱天天躁 | 国产高清在线不卡 | 中文在线字幕免费观看 | 最近中文字幕免费观看 | 91精品国产福利在线观看 | 天堂在线一区二区 | 丁香婷婷综合色啪 | 国产婷婷视频在线 | 成人黄色在线电影 | 国产视频精品在线 | 伊甸园永久入口www 99热 精品在线 | 欧美激情视频一二三区 | 中文字幕在线观看91 | 亚洲午夜精品一区 | 99视频+国产日韩欧美 | 国产精品自产拍在线观看中文 | 国产97超碰 | 午夜免费久久看 | 亚洲美女视频网 | 久久久久久久免费看 | 亚洲成人av免费 | 亚洲精品五月天 | 国产精品中文字幕在线 | 国产最新视频在线 | 有码中文字幕 | 日韩中文字幕在线不卡 | 美女视频黄免费 | 成人免费在线观看入口 | 中文字幕传媒 | 最新av在线播放 | 天天夜操 | 草久视频在线观看 | 婷色在线 | 五月婷婷久久丁香 | 久久视频 | 久久久www成人免费精品张筱雨 | 日韩中文字幕在线不卡 | 69国产盗摄一区二区三区五区 | 深爱激情综合网 | 免费观看十分钟 | 亚洲综合成人专区片 | 日韩高清一区在线 | 久久黄色免费视频 | 午夜精品久久久久久久99热影院 | 免费看三级黄色片 | 久久综合九色综合97婷婷女人 | 久久久久五月天 | 超级碰99 | 日本精品中文字幕在线观看 | 久久综合九色综合久99 | 开心婷婷色 | 91精品影视| av综合av| 成人精品国产 | 久热av | 久久精品一区二区三区中文字幕 | 99热在线观看免费 | 天天干天天拍天天操天天拍 | 天天做天天爱天天综合网 | 久久久在线免费观看 | 最新国产在线视频 | 少妇精品久久久一区二区免费 | 五月婷在线视频 | 91最新网址 | h网站免费在线观看 | 久久五月激情 | 三级黄色网络 | 91精品久久久久久粉嫩 | 天天躁日日躁狠狠躁av麻豆 | 香蕉视频国产在线观看 | 国产专区精品视频 | 欧美亚洲一区二区在线 | 欧美精品中文字幕亚洲专区 | 久久久免费观看完整版 | 一级电影免费在线观看 | 亚洲永久精品国产 | 麻豆视频免费入口 | 伊人成人久久 | 黄色91免费观看 | 久久久久久久免费 | 亚洲精品午夜国产va久久成人 | 99国产精品视频免费观看一公开 | 97在线视频免费 | 91网免费看 | 在线中文字幕电影 | 国产高清在线观看 | 三级黄色理论片 | 亚洲天堂在线观看完整版 | 日韩视频免费观看高清完整版在线 | 国产亚洲成人网 | 日韩精品中文字幕在线 | 中文字幕乱在线伦视频中文字幕乱码在线 | 久久视频一区 | 国产精品小视频网站 | 高清不卡免费视频 | 久久成| 久久涩视频 | 久久精品99视频 | 国产精品青青 | 黄色大片日本免费大片 | 日韩视频一 | 99精品国产99久久久久久福利 | 精品理论片 | 97超视频| 久久人人爽人人片 | 成人影片免费 | av日韩中文 | 日韩在线视频精品 | 九草在线视频 | 中文视频在线 | 国产精品久久久视频 | 99re久久精品国产 | 超碰在线9 | 日韩大片在线看 | 午夜av免费在线观看 | 国产专区在线播放 | 911香蕉视频 | 超碰在线91| 国产精品观看视频 | 久久久高清免费视频 | 菠萝菠萝蜜在线播放 | 国产一区二区三区网站 | 午夜体验区 | 欧美在线久久 | 一区二区不卡视频在线观看 | 免费看高清毛片 | 色一级片| 91精品欧美一区二区三区 | 欧美精品一区二区免费 | 最近高清中文在线字幕在线观看 | 五月天久久精品 | 亚洲女欲精品久久久久久久18 | 在线中文字幕观看 | 探花视频网站 | 偷拍区另类综合在线 | 久久久久久免费视频 | 97成人在线 | 国产亚洲精品日韩在线tv黄 | 亚洲欧美乱综合图片区小说区 | a午夜在线 | 精品夜夜嗨av一区二区三区 | 亚洲成人免费观看 | 九七视频在线 | 99久久精品电影 | 黄色一及电影 | 亚洲年轻女教师毛茸茸 | 欧美精品久久久久久久久久丰满 | 成年人在线观看视频免费 | 美女一级毛片视频 | 免费观看黄 | 色婷婷激情网 | 国产亚洲精品综合一区91 | 天天草天天色 | 久久涩涩网站 | 少妇bbw撒尿| 国产精品久久久久久久电影 | 麻豆久久久| 国产在线a免费观看 | 四虎影视成人永久免费观看亚洲欧美 | 成人免费在线视频 | 色吊丝在线永久观看最新版本 | 国产一区二区不卡视频 | 亚洲a资源 | 久久综合婷婷 | 日日爱999| 精品视频久久 | 午夜123 | 五月香视频在线观看 | 99免费在线视频 | 日韩欧美在线视频一区二区三区 | 999久久久久久久久久久 | 国产精品尤物视频 | 国产一二三区av | 西西4444www大胆艺术 | 国内精品久久久久久久久久久久 | av软件在线观看 | 欧美日韩1区2区 | 午夜精品久久久久久久久久久久 | 成人免费共享视频 | www.在线观看av | 人人搞人人搞 | 黄色在线免费观看网站 | 日本精品在线视频 | 激情网五月婷婷 | 国产视频1| 91资源在线播放 | 五月天伊人网 | 国内精品免费久久影院 | 黄色aaaaa | 韩国一区二区在线观看 | 看av免费 | 狠狠亚洲 | 奇米网8888| 日韩av一区二区三区四区 | 免费在线观看av网址 | 在线天堂v| 欧美日韩国产免费视频 | 国产精品ⅴa有声小说 | 国产精品一区二区吃奶在线观看 | 黄色毛片视频免费 | 日韩精品中文字幕在线观看 | 一区二区精品在线视频 | 久久99久久久久久 | 香蕉视频网站在线观看 | av在线免费观看黄 | 国产明星视频三级a三级点| 九色自拍视频 | 欧美成人h版在线观看 | 五月开心六月伊人色婷婷 | 免费福利片 | 日本久久免费视频 | 婷婷 中文字幕 | 国产视频一区二区三区在线 | 日韩a在线看 | 亚洲性xxxx | 久久精品99视频 | 国产精品资源在线 | 二区三区在线视频 | 欧美一区免费观看 | 五月天激情开心 | 国产在线欧美在线 | 日日摸日日添日日躁av | 91成人网页版 | 久久国内视频 | 在线国产91 | 免费观看v片在线观看 | 国产精品久久久久久久久久久久 | 97在线观看视频 | 亚洲日本黄色 | 久久99久久99精品免视看婷婷 | av综合网址 | 久久人网 | www99久久| 91色影院| 久久久久久久久影视 | 国产成人精品网站 | 午夜av不卡| 青草草在线视频 | 国产九色91 | 国产丝袜 | 91视频88av | 丁香婷婷综合激情 | 99热这里只有精品免费 | 国产91av视频在线观看 | 色亚洲网| 国产91综合一区在线观看 | 青春草免费在线视频 | 天天干天天拍天天操天天拍 | 久久高清免费观看 | 欧美激情精品久久 | 福利网在线 | 天天曰夜夜操 | 国产成人福利片 | 黄色aa久久 | av在线短片 | 一区二区三区中文字幕在线观看 | 中中文字幕av在线 | 99久久久久久 | 亚洲国产日韩在线 | 久久精品免费 | 蜜臀久久99精品久久久久久网站 | 亚洲资源网 | 国产视频色 | 午夜视频播放 | 91亚·色| 91av手机在线观看 | 91| 成人手机在线视频 | 五月婷婷激情 | 国产视频2| 国产日本高清 | a级国产乱理伦片在线观看 亚洲3级 | 国产福利在线免费观看 | 欧美激情综合五月色丁香 | 午夜视频在线观看一区 | 亚洲精品午夜国产va久久成人 | 国产精品99久久久久久小说 | 91九色porny在线 | 久久精品久久久久 | 99热这里精品 | 日韩欧美视频在线观看免费 | 婷婷激情五月综合 | 日韩a在线 | 精品一区91| 成人黄色中文字幕 | 成人免费大片黄在线播放 | 精品美女国产在线 | 婷婷综合网 | 国产精品久久久一区二区三区网站 | 欧美精品久久久久久久久老牛影院 | 水蜜桃亚洲一二三四在线 | 成人免费一区二区三区在线观看 | 中文字幕在线一二 | 激情五月av| 91天堂影院 | 国产打女人屁股调教97 | 国内精品久久久久久久影视麻豆 | 国产视频在线观看一区 | 天天爽网站 | 色视频国产直接看 | 在线观看自拍 | 免费观看性生活大片3 | 97国产小视频 | 天天干天天操天天拍 | 成人中文字幕+乱码+中文字幕 | 91精品对白一区国产伦 | 91免费观看视频在线 | 夜夜躁狠狠躁日日躁视频黑人 | 久久久蜜桃| 日日综合| 国产精品成人免费精品自在线观看 | 国产日韩欧美在线影视 | 伊人热| 久久伦理 | 亚洲一级电影 | 五月天狠狠操 | 日韩久久精品一区二区三区下载 | 久久99国产精品自在自在app | 91污视频在线 | 国产精品video爽爽爽爽 | 亚洲精品乱码久久久久久按摩 | 亚洲天堂网在线视频 | 亚洲激情 欧美激情 | 草久在线观看视频 | www.国产在线观看 | 日日夜夜添 | 久久综合色影院 | 9幺看片| 在线观看视频日韩 | 天天射天天操天天 | 国产亚洲精品久久久久久久久久久久 | 五月综合久久 | 精品久久99| 国产亚洲精品久久久久久久久久 | 欧美日韩免费在线视频 | 区一区二区三在线观看 | 国产精品热视频 | 九色琪琪久久综合网天天 | 在线免费观看黄网站 | 黄色av免费 | 免费特级黄色片 | 亚洲一级特黄 | 日韩理论 | 国产你懂的在线 | 韩国精品一区二区三区六区色诱 | 国产精选视频 | 久久女同性恋中文字幕 | 国产免费午夜 | 国产成本人视频在线观看 | 国产视频欧美视频 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 日韩av在线小说 | 九九热只有精品 | 日韩激情久久 | 黄色软件在线观看视频 | 深夜免费网站 | 91网址在线观看 | 色综合色综合久久综合频道88 | 黄色视屏在线免费观看 | 国产精品99精品 | 91激情视频在线观看 | av超碰在线 | 中中文字幕av在线 | 日韩精品高清视频 | 国产999精品久久久影片官网 | 在线看片a| 激情综合亚洲 | 四虎影视成人精品 | 又黄又刺激视频 | 色婷婷在线播放 | 亚洲精品乱码久久久久久9色 | 制服丝袜成人在线 | 国产成人精品一区二 | av线上免费看 | 91精品免费视频 | 国产三级在线播放 | 中文在线最新版天堂 | sesese图片| 婷婷网在线 | 婷婷夜夜 | a一片一级 | 亚洲理论在线观看电影 | 色噜噜在线观看 | 亚洲视频在线视频 | 2019中文字幕第一页 | 久久久久网址 | 在线观看网站你懂的 | 最新中文字幕在线资源 | 婷婷色影院 | 91精品一区二区三区蜜桃 | 日本亚洲国产 | 国产一级在线免费观看 | 国产精品原创在线 | 亚洲精区二区三区四区麻豆 | 成人小视频在线观看免费 | 国产日韩在线视频 | 欧美一区影院 | 中国一级特黄毛片大片久久 | 日韩爱爱片 | av九九| 最近最新中文字幕 | 亚洲精品久久久久久久不卡四虎 | 国产在线日韩 | 精品一区 在线 | 国内精品视频在线 |