欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

MyBatis-Plus多數(shù)據(jù)源配置實(shí)戰(zhàn):原理、踩坑與最佳實(shí)踐

MyBatis-Plus多數(shù)據(jù)源配置實(shí)戰(zhàn):原理、踩坑與最佳實(shí)踐 做多數(shù)據(jù)源這件事我前前后后折騰過(guò)好幾個(gè)方案從最開始手動(dòng)寫AbstractRoutingDataSource到后來(lái)切到mybatis-plus的dynamic-datasource最大的感受就是如果項(xiàng)目里已經(jīng)用了mybatis-plus多數(shù)據(jù)源配置真的沒(méi)必要自己造輪子。這個(gè)starter把最臟最累的活都干完了而且坑也填得差不多了。這篇文章就把我的完整配置過(guò)程、踩過(guò)的坑、以及一些網(wǎng)上很少說(shuō)清楚的細(xì)節(jié)一次性講透保證你照著做就能跑起來(lái)。為什么項(xiàng)目會(huì)需要多數(shù)據(jù)源先別急著上手配置你得先想清楚一個(gè)問(wèn)題你到底是不是真的需要多數(shù)據(jù)源我見(jiàn)過(guò)不少項(xiàng)目其實(shí)只有一個(gè)庫(kù)但開發(fā)同學(xué)提前把多數(shù)據(jù)源的架子搭好了。這種“未雨綢繆”我一般不建議因?yàn)槎鄶?shù)據(jù)源會(huì)引入額外的復(fù)雜度尤其是事務(wù)邊界變模糊、連接管理變復(fù)雜一旦出了問(wèn)題排查成本很高。真正需要多數(shù)據(jù)源的場(chǎng)景大致就這么幾類讀寫分離主庫(kù)負(fù)責(zé)寫從庫(kù)負(fù)責(zé)讀這是最常見(jiàn)的訴求。分庫(kù)分表的過(guò)渡階段還沒(méi)上ShardingSphere這種中間件先用多數(shù)據(jù)源頂著。業(yè)務(wù)數(shù)據(jù)隔離比如訂單庫(kù)、用戶庫(kù)、日志庫(kù)物理上分離各有各的連接池。第三方系統(tǒng)對(duì)接需要直連別人家的數(shù)據(jù)庫(kù)人家只給你只讀賬號(hào)。報(bào)表統(tǒng)計(jì)場(chǎng)景大查詢走獨(dú)立的庫(kù)免得把業(yè)務(wù)庫(kù)拖垮。我之前遇到的一個(gè)典型場(chǎng)景就是讀寫分離線上訂單系統(tǒng)主庫(kù)的壓力還好但后臺(tái)的報(bào)表查詢?nèi)悄欠N多表關(guān)聯(lián)的大SQL一跑就是好幾秒直接把主庫(kù)的CPU干到80%。后來(lái)就是把報(bào)表查詢?nèi)壳械街蛔x從庫(kù)主庫(kù)瞬間就穩(wěn)了。這種場(chǎng)景用mybatis-plus的多數(shù)據(jù)源就是一兩行注解的事收益非常直接。再說(shuō)說(shuō)為什么選mybatis-plus而不是自己寫或者用Spring自帶的方案。其實(shí)Spring的AbstractRoutingDataSource本身就能實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源我早年也這么干過(guò)得自己寫AOP切面、自己維護(hù)數(shù)據(jù)源上下文、自己處理事務(wù)的綁定問(wèn)題。說(shuō)白了技術(shù)上能做但代碼量不小而且邊界情況特別多。mybatis-plus的dynamic-datasource-spring-boot-starter把這些封裝好了還額外支持了嵌套切換、懶加載數(shù)據(jù)源、連接池監(jiān)控這些實(shí)用功能。既然項(xiàng)目里已經(jīng)用了mybatis-plus那直接用這個(gè)starter是最平滑的路子。動(dòng)態(tài)數(shù)據(jù)源的核心原理用mybatis-plus配置多數(shù)據(jù)源很多人上來(lái)就抄配置跑通了就完事。但你要是不理解它背后的原理遇到問(wèn)題的時(shí)候會(huì)非常痛苦。這個(gè)starter的原理一句話就能說(shuō)清它本質(zhì)上還是基于Spring的AbstractRoutingDataSource在每次數(shù)據(jù)庫(kù)操作前通過(guò)AOP攔截DS注解把當(dāng)前要用的數(shù)據(jù)源標(biāo)識(shí)存到ThreadLocal里然后在真正獲取連接的時(shí)候動(dòng)態(tài)路由到對(duì)應(yīng)的數(shù)據(jù)源上。我展開說(shuō)一下這條鏈路你理解了以后排錯(cuò)會(huì)容易很多。先說(shuō)底層的數(shù)據(jù)源路由。Spring提供了一個(gè)抽象類叫AbstractRoutingDataSource它維護(hù)了一個(gè)Mapkey是數(shù)據(jù)源標(biāo)識(shí)value是實(shí)際的數(shù)據(jù)源對(duì)象。它有一個(gè)determineCurrentLookupKey()方法你重寫這個(gè)方法返回一個(gè)keySpring在每次獲取數(shù)據(jù)庫(kù)連接的時(shí)候都會(huì)調(diào)它根據(jù)key取對(duì)應(yīng)的數(shù)據(jù)源。mybatis-plus的dynamic-datasource對(duì)這個(gè)類做了增強(qiáng)如果當(dāng)前線程沒(méi)設(shè)置數(shù)據(jù)源標(biāo)識(shí)就用默認(rèn)主庫(kù)如果設(shè)置了就用對(duì)應(yīng)的庫(kù)。這就是整個(gè)多數(shù)據(jù)源能跑起來(lái)的地基。再說(shuō)AOP攔截。dynamic-datasource定義了一個(gè)切面攔截所有加了DS注解的方法。在方法執(zhí)行前它會(huì)把DS里指定的數(shù)據(jù)源名稱存到DynamicDataSourceContextHolder的ThreadLocal里方法執(zhí)行完再把這個(gè)值清理掉。所以**DS注解的作用范圍就是當(dāng)前線程內(nèi)的方法執(zhí)行期**方法結(jié)束ThreadLocal就清了不會(huì)串到下一個(gè)請(qǐng)求。這里有個(gè)非常關(guān)鍵的細(xì)節(jié)DS注解是加在方法上的不是加在類上全局生效的。雖然注解本身支持加在Service類上但那也只是給這個(gè)類的所有方法都套了同一個(gè)數(shù)據(jù)源本質(zhì)上還是方法級(jí)別的攔截。很多人誤以為加在類上就是“這個(gè)類永遠(yuǎn)走某個(gè)庫(kù)”其實(shí)不是事務(wù)和嵌套調(diào)用都會(huì)改變實(shí)際路由結(jié)果。理解了原理你再看配置里的每一行就都看得懂了。比如yml里的primary: master就是決定當(dāng)ThreadLocal里沒(méi)值的時(shí)候默認(rèn)走哪個(gè)庫(kù)strict: true是當(dāng)DS指定了一個(gè)不存在的庫(kù)名時(shí)直接報(bào)錯(cuò)防止你寫錯(cuò)名字后靜默走了主庫(kù)這個(gè)務(wù)必要開。mybatis-plus的多數(shù)據(jù)源starter還做了一些深層的適配比如數(shù)據(jù)源懶加載也就是在Spring容器啟動(dòng)的時(shí)候并不立即創(chuàng)建所有數(shù)據(jù)源連接池而是等第一次用到某個(gè)庫(kù)的時(shí)候才初始化。你如果配了很多個(gè)庫(kù)這個(gè)特性會(huì)讓啟動(dòng)速度快不少。另外它還內(nèi)置了Druid、HikariCP的監(jiān)控支持不過(guò)這個(gè)看你實(shí)際用什么連接池Druid配合的監(jiān)控面板用起來(lái)更順手一些。開箱即用完整配置步驟接下來(lái)就是實(shí)戰(zhàn)環(huán)節(jié)。我盡量把每一步都寫清楚包括依賴版本、配置文件、代碼位置你照著做就行。先說(shuō)環(huán)境SpringBoot 2.7.18mybatis-plus-boot-starter 3.5.7JDK 8。高版本的SpringBoot 3.x我也用過(guò)配置方式基本一致就是javax換成jakarta注意一下就行。第一步引入依賴在pom.xml里加入dynamic-datasource的starter。注意這個(gè)starter是獨(dú)立的和mybatis-plus的starter是兩回事別搞混了。!-- mybatis-plus 核心starter -- dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-boot-starter/artifactId version3.5.7/version /dependency !-- mybatis-plus 多數(shù)據(jù)源starter -- dependency groupIdcom.baomidou/groupId artifactIddynamic-datasource-spring-boot-starter/artifactId version3.6.1/version /dependency版本這里我多說(shuō)一句3.6.1是目前比較穩(wěn)定的版本3.5.x和3.6.x都有一些迭代但如果你項(xiàng)目里已經(jīng)有mybatis-plus了建議讓多數(shù)據(jù)源starter和mybatis-plus保持相近版本避免出現(xiàn)兼容問(wèn)題。我踩過(guò)一次坑mybatis-plus用的3.5.3多數(shù)據(jù)源starter用的3.5.0結(jié)果是DS注解在某些場(chǎng)景下不生效排查了半天升級(jí)版本后就好了。第二步配置yml數(shù)據(jù)源在application.yml里配置數(shù)據(jù)源信息。這個(gè)是核心配置spring: datasource: dynamic: primary: master strict: true strategy: com.baomidou.dynamic.datasource.DynamicDataSourceStrategy datasource: master: url: jdbc:mysql://192.168.1.10:3306/order_db?useUnicodetruecharacterEncodingutf8useSSLfalseserverTimezoneAsia/Shanghai username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver slave: url: jdbc:mysql://192.168.1.11:3306/order_db?useUnicodetruecharacterEncodingutf8useSSLfalseserverTimezoneAsia/Shanghai username: readonly_user password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver report: url: jdbc:postgresql://192.168.1.12:5432/report_db username: report password: 123456 driver-class-name: org.postgresql.Driver幾個(gè)關(guān)鍵點(diǎn)解釋一下primary: master默認(rèn)數(shù)據(jù)源所有沒(méi)加DS注解的Mapper操作都會(huì)走這個(gè)庫(kù)。這是兜底的我建議永遠(yuǎn)保留一個(gè)master別把主庫(kù)配成別的名字。strict: true嚴(yán)格模式。如果DS里寫了一個(gè)不存在的庫(kù)名直接拋異常不會(huì)靜默走主庫(kù)。這個(gè)建議開啟否則你拼錯(cuò)一個(gè)字母數(shù)據(jù)寫到主庫(kù)里去排查的時(shí)候想哭的心都有。數(shù)據(jù)源名稱你可以隨便起比如master、slave、report但注意這些名字會(huì)在DS注解里引用要保持一致。第三步在啟動(dòng)類排除DataSourceAutoConfiguration這一步很多人會(huì)漏掉但關(guān)鍵程度不亞于前面的配置。如果你使用的是SpringBoot 2.x以上版本啟動(dòng)類要加這個(gè)排除SpringBootApplication(exclude DataSourceAutoConfiguration.class) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }為什么要排除因?yàn)镾pringBoot的自動(dòng)配置會(huì)讀到spring.datasource.url之類的配置去創(chuàng)建DataSource你現(xiàn)在的配置是放在spring.datasource.dynamic.datasource.master下面的SpringBoot默認(rèn)配置根本讀不到就會(huì)報(bào)錯(cuò)說(shuō)找不到主數(shù)據(jù)源。dynamic-datasource的starter自己會(huì)創(chuàng)建一個(gè)動(dòng)態(tài)數(shù)據(jù)源所以必須把SpringBoot默認(rèn)的數(shù)據(jù)源自動(dòng)配置排除掉。這一步網(wǎng)上很多教程沒(méi)提或者提了沒(méi)解釋為什么。實(shí)際上一開始我沒(méi)加這個(gè)排除啟動(dòng)直接報(bào)錯(cuò)Failed to configure a DataSource: url attribute is not specified加了排除以后馬上就好了。第四步寫測(cè)試代碼驗(yàn)證配置完成后寫一個(gè)簡(jiǎn)單的Service來(lái)驗(yàn)證效果。DS注解加在Service層的方法上或者直接加在Mapper的方法上。我建議加在Service層因?yàn)闃I(yè)務(wù)上你更關(guān)心的是“這個(gè)業(yè)務(wù)方法走哪個(gè)庫(kù)”而且Mapper層面太細(xì)了不好管理。Service public class UserServiceImpl implements UserService { Autowired private UserMapper userMapper; Override public User getMasterUser(Long id) { return userMapper.selectById(id); } DS(slave) Override public User getSlaveUser(Long id) { return userMapper.selectById(id); } DS(report) Override public ListReport getReportList() { return reportMapper.selectList(null); } }這里有個(gè)非常關(guān)鍵的區(qū)別getMasterUser方法沒(méi)加DS走的就是primary指定的主庫(kù)getSlaveUser加了DS(slave)走的就是從庫(kù)getReportList走的是report庫(kù)。注意DS注解可以加在類上表示這個(gè)類所有方法都走同一個(gè)庫(kù)如果類上和方法上都有DS以方法上的為準(zhǔn)方法級(jí)的優(yōu)先級(jí)更高。從庫(kù)的UserMapper和主庫(kù)的UserMapper其實(shí)是同一個(gè)Java接口同一個(gè)實(shí)體類。區(qū)別只在于你調(diào)用時(shí)走的方法加沒(méi)加注解。這一點(diǎn)就體現(xiàn)了dynamic-datasource的設(shè)計(jì)精髓一個(gè)Mapper可以自由穿梭在多個(gè)數(shù)據(jù)源之間。高版本SpringBoot的額外注意事項(xiàng)如果你用的是SpringBoot 3.x也就是JDK 17的環(huán)境配置會(huì)有一個(gè)額外的變化。除了剛才說(shuō)的排除DataSourceAutoConfiguration還得注意數(shù)據(jù)庫(kù)驅(qū)動(dòng)的坐標(biāo)變化dependency groupIdcom.mysql/groupId artifactIdmysql-connector-j/artifactId scoperuntime/scope /dependencyMyBatis、Druid這些組件在Boot 3.x下都需要對(duì)應(yīng)新版本。dynamic-datasource 3.6.1本身就兼容SpringBoot 3.x這個(gè)倒不用擔(dān)心。還有一點(diǎn)SpringBoot 3.x里用的是Jakarta命名空間如果項(xiàng)目里引了老的javax依賴會(huì)直接起不來(lái)。高版本還有個(gè)常見(jiàn)的坑是數(shù)據(jù)源初始化順序的問(wèn)題。SpringBoot 3.x對(duì)自動(dòng)配置的順序要求更嚴(yán)格如果你發(fā)現(xiàn)啟動(dòng)報(bào)錯(cuò)說(shuō)什么DataSource被循環(huán)依賴了試試在啟動(dòng)類上把SpringBoot的DataSourceTransactionManagerAutoConfiguration也排除掉SpringBootApplication(exclude { DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class })不過(guò)要注意排除掉DataSourceTransactionManagerAutoConfiguration之后事務(wù)管理器的自動(dòng)配置就沒(méi)了需要你自己注冊(cè)或者直接用dynamic-datasource提供的事務(wù)管理器。這個(gè)坑一般出現(xiàn)在你同時(shí)用了Spring的Transactional和DS的場(chǎng)景后面我會(huì)詳細(xì)說(shuō)。事務(wù)和數(shù)據(jù)源切換的那點(diǎn)事兒這是多數(shù)據(jù)源配置里最讓人頭疼的部分我放在這里單獨(dú)講。當(dāng)你用Transactional的時(shí)候事務(wù)是在方法進(jìn)入前就開啟了連接也是在事務(wù)開始時(shí)從默認(rèn)數(shù)據(jù)源拿的。如果這個(gè)事務(wù)方法內(nèi)部又調(diào)用了帶DS的方法那DS可能根本不會(huì)切換數(shù)據(jù)源或者切換了也不生效??聪旅娴睦覶ransactional public void transfer() { orderMapper.insert(order); // 走主庫(kù) getSlaveUser(1L); // 想切到從庫(kù)但可能不生效 }問(wèn)題出在Transactional開啟事務(wù)時(shí)已經(jīng)把連接和事務(wù)綁定到當(dāng)前線程了DS的AOP切面在事務(wù)方法內(nèi)部執(zhí)行時(shí)試圖去切換數(shù)據(jù)源但事務(wù)管理器還是拿著舊連接不放。所以事務(wù)內(nèi)的數(shù)據(jù)源切換會(huì)失效或者報(bào)錯(cuò)。我實(shí)測(cè)過(guò)的結(jié)果是如果你的transfer()方法上加了Transactional內(nèi)部再調(diào)getSlaveUser()實(shí)際查詢還是會(huì)走主庫(kù)。這不是bug而是Spring事務(wù)機(jī)制的固有行為。解決辦法有幾個(gè)思路把不需要走主庫(kù)的操作拆出去放到一個(gè)獨(dú)立的事務(wù)方法里這個(gè)方法單獨(dú)加DS和Transactional。使用dynamic-datasource的DSTransactional來(lái)代替Spring的Transactional它支持多數(shù)據(jù)源下的事務(wù)管理但它是本地事務(wù)不支持跨庫(kù)的分布式事務(wù)。如果確實(shí)需要跨庫(kù)強(qiáng)一致那你需要引入Seata這類分布式事務(wù)中間件這是另一個(gè)范疇了本文不展開。特別注意多數(shù)據(jù)源配置開啟了以后Spring自帶的Transactional默認(rèn)綁定的是主數(shù)據(jù)源的事務(wù)管理器。如果你在從庫(kù)上做寫操作并加了Transactional事務(wù)并不會(huì)真正在從庫(kù)上生效這個(gè)細(xì)節(jié)很多人踩坑后才回過(guò)神來(lái)。這一點(diǎn)非常容易忽略務(wù)必注意。我個(gè)人的習(xí)慣是從庫(kù)只做查詢不開放寫權(quán)限數(shù)據(jù)庫(kù)賬號(hào)也不給寫權(quán)限。這樣從根本上避免從庫(kù)上出現(xiàn)寫事務(wù)。實(shí)操中遇到的坑和排查心得配置跑通之后還有一堆實(shí)際問(wèn)題。我把這些坑按頻率從高到低列出來(lái)你遇到的時(shí)候可以直接對(duì)號(hào)入座???DS注解不生效表現(xiàn)是有DS注解的方法實(shí)際還是走的默認(rèn)庫(kù)。排查思路先確認(rèn)starter版本是否兼容然后確認(rèn)方法是否被Spring代理。如果你是在一個(gè)類內(nèi)部的this.xxx()調(diào)用那DS注解是不會(huì)被AOP攔截的。因?yàn)镾pring的AOP基于代理this調(diào)用不走代理對(duì)象。Service public class OrderService { // 這樣調(diào)用DS會(huì)失效 public void doSomething() { this.queryFromSlave(); } DS(slave) public void queryFromSlave() { // ... } }解決辦法是通過(guò)注入自己的代理對(duì)象或者把方法拆到另一個(gè)Service里調(diào)用。這個(gè)是最常見(jiàn)的DS不生效原因沒(méi)有之一。坑2連接池耗盡或者連接泄漏多數(shù)據(jù)源意味著多個(gè)連接池每個(gè)都是獨(dú)立的默認(rèn)的連接池大小可能不夠。如果你同時(shí)有主庫(kù)、從庫(kù)、報(bào)表庫(kù)高峰期很容易出現(xiàn)某個(gè)庫(kù)的連接池被打滿的提示。而且如果你手寫代碼時(shí)手動(dòng)拿了連接沒(méi)有釋放那個(gè)連接池就泄漏一個(gè)時(shí)間長(zhǎng)了就滿了。建議給每個(gè)連接池設(shè)置合理的上限spring: datasource: dynamic: datasource: master: hikari: maximum-pool-size: 30 minimum-idle: 5 connection-timeout: 30000 idle-timeout: 600000 slave: hikari: maximum-pool-size: 20 minimum-idle: 5另外注意從庫(kù)的連接池峰值往往更高因?yàn)樽x請(qǐng)求多把從庫(kù)的maximum-pool-size調(diào)大一點(diǎn)是合理的。我之前就是主庫(kù)30、從庫(kù)50這么配的???MyBatis二級(jí)緩存串庫(kù)如果你開了MyBatis的二級(jí)緩存緩存的是查詢結(jié)果但二級(jí)緩存的key是Mapper的namespace不區(qū)分?jǐn)?shù)據(jù)源。這意味著你用主庫(kù)查了一次緩存的鍵沒(méi)有數(shù)據(jù)源維度同類查詢切到從庫(kù)時(shí)命中的可能是主庫(kù)的緩存結(jié)果。這個(gè)問(wèn)題在小項(xiàng)目里可能不出事但一旦兩個(gè)庫(kù)的數(shù)據(jù)不一致就會(huì)出詭異的問(wèn)題。建議多數(shù)據(jù)源場(chǎng)景下直接關(guān)閉二級(jí)緩存老老實(shí)實(shí)用一級(jí)緩存和Redis???主從延遲導(dǎo)致的數(shù)據(jù)不一致讀寫分離的場(chǎng)景下從庫(kù)的數(shù)據(jù)有延遲。你剛寫完主庫(kù)馬上去查從庫(kù)可能查不到剛寫的數(shù)據(jù)。這時(shí)候需要區(qū)分業(yè)務(wù)場(chǎng)景對(duì)實(shí)時(shí)性要求高的查詢強(qiáng)制走主庫(kù)能容忍延遲的就放心走從庫(kù)。比如訂單詳情頁(yè)的查詢建議直接走主庫(kù)或者做一個(gè)短時(shí)間的緩存別讓主從延遲影響用戶體驗(yàn)。這個(gè)問(wèn)題跟多數(shù)據(jù)源本身無(wú)關(guān)但既然做了讀寫分離就一定會(huì)遇到提前了解解法是很有必要的???連接在事務(wù)方法內(nèi)部切換導(dǎo)致連接管理器報(bào)錯(cuò)這個(gè)場(chǎng)景其實(shí)比較偏但我確實(shí)遇到過(guò)。動(dòng)態(tài)數(shù)據(jù)源里如果在一個(gè)事務(wù)執(zhí)行途中切換數(shù)據(jù)源DynamicRoutingDataSource會(huì)嘗試在當(dāng)前線程重新綁定連接而舊連接和事務(wù)的關(guān)系會(huì)變得很微妙進(jìn)而出現(xiàn)一些奇怪的SQL執(zhí)行錯(cuò)誤日志里會(huì)蹦出來(lái)類似Connection is not available這種。所以再次強(qiáng)調(diào)不要在一個(gè)事務(wù)方法里來(lái)回切換數(shù)據(jù)源要么拆分方法要么全走多數(shù)據(jù)源事務(wù)注解。多數(shù)據(jù)源常見(jiàn)問(wèn)題排查速查表我整理了一下實(shí)戰(zhàn)中比較高頻的場(chǎng)景做成一個(gè)速查表方便你遇到問(wèn)題時(shí)快速定位方向。問(wèn)題現(xiàn)象可能原因解決思路啟動(dòng)報(bào)錯(cuò)url attribute is not specified沒(méi)排除DataSourceAutoConfiguration啟動(dòng)類排除該自動(dòng)配置DS注解完全不生效類內(nèi)部this調(diào)用沒(méi)走代理拆到獨(dú)立Bean或注入代理對(duì)象事務(wù)內(nèi)部切換數(shù)據(jù)源失敗Transactional在DS之前開啟連接已綁定拆分事務(wù)方法或使用DSTransactional從庫(kù)數(shù)據(jù)查不到剛寫入的數(shù)據(jù)主從同步延遲實(shí)時(shí)性要求高的查詢走主庫(kù)連接池大量超時(shí)連接泄漏或連接池太小排查泄漏點(diǎn)調(diào)整Hikari參數(shù)查詢結(jié)果串庫(kù)MyBatis二級(jí)緩存不區(qū)分?jǐn)?shù)據(jù)源關(guān)閉二級(jí)緩存strict模式下報(bào)數(shù)據(jù)源不存在DS注解寫錯(cuò)庫(kù)名核對(duì)yml里的數(shù)據(jù)源名稱這個(gè)速查表不敢說(shuō)覆蓋所有情況但大部分新手遇到的就這些了。真正高級(jí)的問(wèn)題得靠日志和監(jiān)控一步步定位比如Druid的監(jiān)控頁(yè)面可以看到每個(gè)數(shù)據(jù)源當(dāng)前的活躍連接數(shù)遇到連接問(wèn)題看那個(gè)是最直觀的。多數(shù)據(jù)源場(chǎng)景下的最佳實(shí)踐建議最后聊幾點(diǎn)實(shí)戰(zhàn)心得。這些不是配置層面的東西而是架構(gòu)層面的取舍但我覺(jué)得比配置本身更重要。能用主從復(fù)制解決的別用多數(shù)據(jù)源。如果你只是想減輕主庫(kù)壓力優(yōu)先考慮從庫(kù)復(fù)制然后在業(yè)務(wù)代碼里通過(guò)切面或Mapper注解走從庫(kù)。如果業(yè)務(wù)模塊之間的依賴并不緊密干脆拆庫(kù)拆服務(wù)走微服務(wù)每個(gè)服務(wù)管自己的庫(kù)這才是徹底的解耦。配置層面建議每個(gè)數(shù)據(jù)源的最小空閑連接數(shù)不要太小即使流量不大也至少維持3到5個(gè)空閑連接避免突然的流量尖峰把連接池打滿。連接池初始化是耗時(shí)的如果空閑連接全被回收了高峰時(shí)突然新建連接會(huì)產(chǎn)生明顯的毛刺延遲。還有一個(gè)很多人忽略的管理問(wèn)題多數(shù)據(jù)源的密碼保管和變更。三個(gè)庫(kù)的密碼分別寫在yml里每過(guò)幾個(gè)月密碼就會(huì)過(guò)期改起來(lái)雖然不難但容易漏。我之前就漏改了一個(gè)報(bào)表庫(kù)的密碼導(dǎo)致報(bào)表服務(wù)在凌晨定時(shí)任務(wù)跑了兩個(gè)小時(shí)全失敗了。建議引入配置中心來(lái)統(tǒng)一管理或者至少把數(shù)據(jù)源配置抽到獨(dú)立的profile文件里別所有環(huán)境混成一個(gè)yml。最后說(shuō)一個(gè)我比較堅(jiān)持的原則生產(chǎn)環(huán)境開啟strict模式任何SQL都不允許因?yàn)閷戝e(cuò)名字而靜默落到默認(rèn)庫(kù)上。寧可讓錯(cuò)誤快速暴露寧可讓自己半夜被電話叫醒也不要在用戶頁(yè)面出現(xiàn)數(shù)據(jù)錯(cuò)亂后去追查好幾天的庫(kù)。這是我吃了虧之后才長(zhǎng)記性的。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
A久久| 久久婷婷内射| 97人人操人人插| 伊人久久五月天| 91在线看片| 99久久激情视频| 亚洲高清在线| 九九热99精品| 色五月激情五月| 99爱在线免费视频| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 亚洲99视频| 一本色道久久综合狠狠躁小说| 日韩精品AV一区二区三区| 超碰人人超碰| 色九四色| www.色婷婷| 丁香五月婷婷性爱| 久久99综合网| 婷婷免费视频| 婷婷丁香成人色综合| 亚洲色小说在线综合| 韩国真做片在线观看| 丁香五月婷婷综合视频| 伊人激情综合| 久久视频在线视频| 五月婷视频| 五月丁香六月激情欧美综合| 激情另类综合| 久久3p| 欧洲MV日韩MV国产| 97干在线视频| 激情六月综合| 五月天综合久久| 超碰色天堂| 天天综合色| 五月丁香六月婷婷成人电影| 99久久婷婷国产综合| 五月婷婷丁香在线| 色播五月婷婷五月| 国产精品成人av在线观看春天| 五月激情四射网站| 亚洲网站999| 五月天伊人日日噜影片AV| 岛国在线观看91| 播五月,色五月,开心五月播放器| 亚洲网站在线鸭子av| 丁香五月成人| 亚洲综合激情五月久久| 色色热| 婷婷丁香五月视频| 五月婷婷色播网| 婷婷情色五月天| 色欲色香,www,com| WWW·色色色·COM| 色五月超碰| 免费看片在线观看| 亚洲Av成人在线观看| 夜夜操夜夜操| 成人做爰高潮A片免费视频| 天天插天天插天天插| 狼人狠狠操| 黄色91在线观看| www.一区二区三区| 九九十99视频| 99久久99久久综合| 思思热99er在线视频| 婷婷丁香综合色AV| www,色婷婷| www.sebowuyue| 久久一操| 丁香无月在线观看| 深爱五月天婷综合| 中文在线视频久1| 天天高潮夜夜爽| 婷婷五月天偷拍| WWW.99热| 99re免费精品视频| 天天色视频| 五月婷亚洲精品AV天堂| 九九大香蕉黄色影院| 91精品久久久久久久| www,五月丁,com| 色五月开心开心五月激情五月| 婷婷五月天亚洲综合| 久久久av久av久片一区二区| 丁香色婷婷| 亚洲综合九九| 91九色网| 99热精品网| 九月丁香八月婷婷久久综合久97| 久久99免费视频网站| 另类激情综合| Caoub青青超碰| 综合精品啪啪| 色综合色| 丁香婷婷噜噜| 91狠狠综合久久久久久| 婷婷五月天综合网| 综合激情在线观看| 婷婷五月精品在线| 亚洲精品成人| 青青操成人福利| 丁香五月综合激情啪啪| 色婷婷五月综合| 亚洲人人96@| 99人人操人人摸| 涩综合婷婷| 亚洲激情av| 日本色婷婷| 97碰 在线视频观看| 97精品人人A片免费看| 综合激情视频| 九九av在线| 极品色丁香| 丁香五月六月激情| 大香蕉九九| 99青青草99| 亚洲另类婷婷综合| 色五月综合在线| 色五月综合| 人碰91| 婷五月丁香俺| 99热99干| 99精品国产在热久久婷婷| 久久天堂色| eeuss人妻| 婷婷五月天第三页| 久久丁香综合香蕉| 九九人人操| 丁香五月天天高清在线| 五月天伊人综合| 清纯唯美 激情四射| 久久综合66| 久草 天堂| va亚洲中文在线| 97久久人人| 大鸡巴伊人网| 热成人网| 亚洲超碰在线| 婷婷月五天在线在线看| 久久久久思思热| 高清一区二区三区日本久| 婷婷久草| www。五月天激情| 激情综合色播| 超级碰碰视频无码| 九九亚洲| 人人操碰| 色色热| 婷婷五月天久草在线| 亚洲成人综合网在线免费观看| 激情超碰网| 国产成人网| 超碰国产AV| 在线日本www| 涩涩五| 国产婷婷五月天| 91a片爽| 欧美综合五月丁香六月婷| 五月丁香婷婷成人网| 五月天色婷婷网| 中文幕无线码中文字蜜桃| www.99免费视频| 日日操天天爽| 久久9RE热视频精品98| 婷婷五月天免费小说| 天天天天做夜夜夜夜做| 开心五月婷婷激情| 亚洲99手机免费看视频| 成年人丁香五月| 天天摸天天肏| 日韩免费视频| 色婷婷裸体色性在线| 五月激情六月宗合| 婷婷五月天直播| 丁香五月天堂| 丁香久久久| 91在线视频观看午夜福利| 大香蕉人人网| 五月天色社区| 五月婷婷丁香在线视频| 69精品人人人人| www.五月天婷婷姐姐| 婷婷五月综合久久中文字幕| 91视频人人做97| 九九色99| 激情婷婷五月色| 99热国产在线| 无码人妻电影| 亚洲人妻一区二区| 久久婷婷五月综合成人d啪| 亚洲综合婷婷五月天| 99爱在线免费视频| 久久综合激情婷婷激情| 欧美一级a| 丁香五月激情在线| 亚洲五月天综合色| 亚洲欧洲一二| 国产亚洲精品AAAAAAA片| 日韩ac不卡无码| 五月丁香影院| 九九精品免费| 五月丁香婷婷成人伊人网| 久婷| 色99热| 69久久99精品久久久久婷婷| 99超级碰碰| 久久人人九| 99热免费观看| 国产精品久久久海的味道| 97操碰日本女人| 色色狼人综合| 久久人妻在线| 色五月xxx| 一起操最新网址| 97久久超碰| 亚洲AAA| 99色在线视频观看| 色吧婷婷五月亚洲| 久久九九色| 五月天综合图片| 久热这里只精品| 深夜婷婷 丁香| 亚洲无码成人| www.99热视频| 五月丁香婷婷激情澎湃四射| 黑人无码一区| 综合久久首页| 97日本在线播放| 亚洲瑟瑟精品在线| 99热永久在线观看| 成人丁香五月| 人橾人| av婷婷六月丁香社区在线观看| 五月婷婷免费视频| 人人操Av| 婷婷五月成人| 伊人婷婷大香蕉| WWW.HENHENL.| 婷婷最新地址| 五月天福利影院导航| 色五月婷婷久久大| www.日日夜夜| 97涩涩丁香五月天| 5月色亭亭视频| 欧美啪啪9| 亚洲黄色操逼| 人人操人人妻| 大香蕉久久伊人网| 色色97丁香婷婷五月天| 婷婷久久五月天丁香| 久久综合丁香五月| 婷婷五月综合婷婷| 丁香婷婷五月天亚洲| 97高清国语自产拍| 色欧美色色色| 丁香五月天AV在线 | 久久机热这里只有精品免费视频 | 亚洲精品电影| 亚洲九九夜夜| 99久久66| 性婷婷| Xx色综合| 婷婷五月天色综合翘| 久久久天堂国产精品女人| 久久性爱视频网站| 99爱视频| 九九香蕉网| 另类图片色五月| EEUSS鲁片一区二区三区| 99热这是里只有精品| 97在线观视频免费观看| 亚洲第一第二网站| 国产毛片精品一区二区色欲黄A片| 色综合色综合色综合| 激情五月婷黄版| 超碰久热| 精品成人无码A片观看香草视频 | 人人舔人人色人人高潮| 日韩操人| 久热这里有精品视频| 国产1区2区3区| 日韩av在线免费观看| 丁香六月婷婷基地| 丁香五月激情综合婷综| 六月婷婷日| 亚洲色综合色网| 99人人干人人| 99丁香五月婷| 丁香五月天在线| 热99在线| 婷婷五月天小说| 九九热99熟女| 色婷五月天| 中字幕视频在线永久在线观看免费| 日91高清无玛| 疯狂做受XXXX高潮A片| 99久久婷| 婷婷综合性爱网| 丁香五月很很肏| 丁香婷婷五月综合| 99re热在线视频| 欧美性丁香色色五月天综合爱爱| 夜夜骑日日操| 吉澤明步Av一區二區| 午夜精品777| 九九热只有这里是精品| renre人人操国产超碰在线| wwwss在线观看| 日日操无码| 99热这里| www激情| 99热91| 成人无码精品1区2区3区免费看| 亚洲色五月婷婷| 日韩综合久久| 伊人免费视频9| 婷婷综合影院| 五月天婷婷五月| 色婷婷六月天| 5月丁香综合图区| 91精产一区三区免费观看| 亚洲黄网在线| 热热久久精品视频| 亚洲综合视频网| 国产精品99久久久久久久女警| 色五月综合在线| 婷婷的五月天另类视频| OUMEIRIHANCHENGREN| 九月色婷婷综合亚洲| www.久久爱| 色站9/| 狠狠色丁香99| 综合网亚洲| 国内自拍97在线| 色情综合网| 丁香五月婷综合网| 夜夜嗨一区二区三区直播内容 | 久婷婷五月丁香在线观看| 日本99视频| 色婷五月天激情| 丁香久久| 欧美情月伍月天| 久久婷婷视频| 91欧美日韩| 梁铮版《蜘蛛女侠》在线| 五月 丁香 欧美| 激情六月天婷婷| 在线播放 精品| 777.色色| 亚洲精品V天堂中文字幕| A片女女女女女女BBBB| 超级碰碰一区| 久久99免费视频| 久久精品国产一区二区三区四区| 亚洲视频久久| 激情五月狠狠| 99超级超级超级碰| 99re这里只有精品视频了| 色婷婷91激情小说| 色色色热热热| 久久久久久久丁香五月天婷婷| 综合久久婷婷五月丁香| 插插插色综合网| 五月婷婷久久大香蕉| 大香蕉AV在线| www.日日日.com| 日本色婷婷| 九九色插| 人人爱人人草| 日韩操逼大片| www久| 婷婷五月电影院| 亚洲婷婷丁香| 狠狠爱综合网| 欧美人与性动交CCOO| 国产婷婷久久| 九九热啪啪| 五月丁香久久呀| 五月丁香黄色视频| 九月性爱网| 精品99爱免费视频在线观看| www.91在线观看| 中文字幕欧美久久| 99色在线视频| 99惹精品视频| 丁香五月成人自拍| 99久久婷| 婷婷综合五月激情| 永久天堂日本| 九色91视频| 色婷网| 色无码| 特黄三级片| 丁香五月天社区| 九色91国产| 色噜噜狠狠色综合日日| 99亚洲精美视频在线观看| 婷婷五月天xxx| 婷婷亚洲综合| 99亚洲无码| 五月色亚洲| PORNY九色9l自拍视频成人| www.婷婷久久五月天| 99超在线| 99热在线爱| 99综合视频| 26uuuavcom| 综合色图婷婷| 国产99久久久| 丁香婷婷十月| 婷婷香香五月| 久热久re| 午夜不卡久久精品无码免费| 婷婷五月激情丁香激情| 中文字幕日产A片在线看| 天天色播| 真实熟女-91九色| 99在热线免费视频| 激情99热| 啪啪99| 亚洲国产无线乱码在线观看| 26uuu欧美亚洲日韩| 嫩草AV久久伊人妇女超级A| 综合大香蕉| 国产又爽又猛又粗的视频A片| 色狠狠五月天| 久久日婷婷| 久久婷婷五月综合| 婷婷深爱五月| 五月天婷a| 69精品无码一区二区三区| 综合九九| 激情五月无码| 91色在线| 9精品一区| 香蕉久久国产AV一区二区| 六月丁香基地| 97资源碰碰| 久久密臀婷婷| 全部老头和老太XXXXX| 婷婷五月激情丁香激情| 91视频五月丁香| 日韩成人五月天| 97人人操| 色五月天丁香婷婷色| 99热精品99| 久久深爱激情网| 淫荡家庭AV| 九九久久免费视频44| 91人人网| 91精品综合久久婷婷九色| 九九99在线视频| 青青草激情网| 99久久久久| 激情六月综合| 99爱免费视频| 九九热99精品| 天天爽夜夜爽| 狠狠色婷婷六月激情网| 黄网免费观看| 婷婷午夜精品久久久| 女人天堂AV| 色婷婷69| 欧美 日韩 成人 在线| 久久在这里有精品| 欧美乱码国产一级A片| 色婷婷综合网| 99热首页| 婷婷久久综合久| 五月婷婷九月婷婷九月婷婷| 成人短视频在线观看| 色色综合网站| 99热欧美| 婷婷在线播放| 久久婷婷五月天大香蕉| 久99久视频| 婷婷五六月丁香| 丁香五月天偷拍| 激情综合网丁香| 久久亚洲婷婷| 婷香五月网在线| 丁香五月天在线观看视频| 色综合综合综合| 这里只有精品96| 三人荫蒂添的好舒服A片| 91色操| 九九操操| 中文字幕成人| 久99久视频精品| 九九九九热99超碰| 97碰成超视频免费视频| 中文字幕不卡网站| 色色五月婷婷久久| 九九热超碰| 激情深爱五月婷婷| tingtingzonghewang| 人人澡玖玖一| 五月丁香婷色| 六月激情久久| 激情五月六月婷婷| 久热免费| 精品九九九久| 九九亚洲综合| 开心日韩丁香婷婷五月| 丁香婷婷综合五月天| 五月天丁香婷| 影音先锋 91工厂| 99热12| 夜夜撸天天日| 538任你爽| 久久久18| av首页在线| 成人国产网| 色婷婷五月天成人网| 操操熟女| 激情五月天在线观看色婷婷| 久99热| 五月丁香久久综合精品| 人人摸人人射| 五月婷婷说| 九九色影视| 色五月综合激情| 99ree6| 色99色| 开心婷婷五月天电影院| 婷婷涩涩网| 日日干日日| 伊人五月天| 激情综合另类| 色婷婷91激情小说| 天天擼久久擼在线| 直接看的AV| 九九久久综合| 久久精品五月天| 色五月婷婷五月久久| 开心五月六月婷婷| 狠狠人人婷婷| 超碰狠狠干99| site:pzdcoin.com| 91视频五月丁香| XX色综合| 【乱子伦】黄色| 日本九九网| 九九爱激情| 婷婷丁香六月综合激情站| 另类图片激情五月天| 久久午夜理论| 色婷婷色99国产综合精品| 激情五月婷婷| 综合激情伊人影视在线| 99爱免费在线视频| 99国产精品久久久久久久久久久 | 日本一级淫| 大香蕉综合在线| 五月天综合在线观看| 色婷六月| 婷婷中合| 色五月激情综合| 久操激情| 丁香婷婷综合激情五月色| 色五月婷婷中文字幕| 综合激情五月丁香9999久久精| 六月五月久久丁香| 777精品久无码人妻蜜桃| 中文字幕视频色婷婷| 五月丁香亭亭AV女优| 91日本在线观看| 丁香五月婷婷视频| 极品九九九九九九| 色播五月丁香综合| 538在线精品| 91精品久久久久久| 色色色色色色网站| 久久久婷| 91精品久久久久久综合五月天| 五月丁香婷婷欧美色图视频五月丁香777电影 | 第四色大香蕉| 99精品在线观看视频| 天天天天天天操| 美欧日韩国产成人在战| m色激情网| 欧美婷婷色| 色婷婷五月天成人网| 狠狠做六月爱婷婷综合aⅴ| 五月丁香综合啪啪啪啪啪| 激情五月图| 亚洲这里只有精品| 1024操逼视频| 色婷婷天堂| www.金莲av| 婷婷五月天伊人网在线观看视频| 五月天激情电影| 大香蕉人人网| 91操碰| www久久99com| 免费视频WWW在线观看网站| 激情綜合網址| 99精品综合| 国产成人高清| 色色激情五月天| 五月天婷婷丁香蜜桃91| 99热自拍| 五月婷综合网| 激情五月综合久久| 能看的av| 夜夜骑操AV| 双性美人被调教到喷水A片| 九九国产视频| 亚洲国产精品成人午夜| 六月丁香成人| 超91在线视频| 色9999日韩国产| 91艹人| 中文字幕按摩做爰| 色五月婷婷一二| 欧美黑人大吊| 丁香五月-激情综合| 狠狠人妻久久久久久综合丁香| 综合网色| 天天操夜夜肏| 4399在线日本A片| 91操片| 成人羞羞啪啪 全 视频| 欧美色色色| 日韩精品二三区| www色色com| 99热个人在线| 婷婷91| 人人舔天天| 伊人www22综合色| 中文字幕欧美日韩VA免费视频| 亚洲另类婷婷综合| 色99久草在线| 五月天播播| 丁香六月亚洲| 亚欧州精品视频| 成人五月丁香花| 久久新地址| 丁香六月天婷婷开心综合| 狠狠爱成人综合网| 天天干电影| 日日综合网| 五月天免费色| 乱码操操| 999九九九久久久99HD| 天天做天天爽| 久久九九大香蕉电院| 伊人影院久久网| 亚洲另类在线观看| 国产在线黄色| 2025色婷婷| 婷婷五月天va| 激情四射五月天偷偷看婷婷| 男人先锋久久| 色婷婷丁香五月| 中文字幕日韩无码制服诱或| 婷综合六月| 另类少妇人与禽zOZZ0性伦| 五月四色婷婷| 99在线免费视| 色婷婷五月影视| 人人操操| a在线观看| 无码任你操| 小视频一区| 久月婷婷| 日韩人妻在线观看| 五月婷婷色播| 啪啪六月婷婷| 超碰色天堂| 日本波多野结衣视频| 丁香婷婷激情| 99热这里只有精品在线| 少妇日麻屄| 日本老女人黄页在线播放| 亚洲综合色婷| 小香蕉av| 激情婷婷丁香| 伊人免费视频9| 搡BBBB搡BBB搡五十| 五月天成人在线视频网站| 日韩AV成人电影| 91久操| www.婷婷五月天| 久激情网| 丁香五月天堂| 婷婷综合久久| 五月天激情电影| 五月丁香六月在线| 丁香色五月 97干| 色五月激情五月天| 日日夜夜干| 婷婷综合视频| 99久在线精品99re8热| 色五月第四色| 美女五月狠狠| 婷婷五月天综合网| 色99视频| 免费观看全黄做爰的视频| AV在线观看网站| 99精品在线观看| 97资源欧美日韩大香蕉超碰一区| 五月激情天天干| 色视频五月天| 婷婷五月AV| 色五月成人| 五月丁香久久久久| 亚洲激情AV| 96自拍视频九色在线观看| 99re这里只有| 丁香五月激情图片婷婷| 99精品在线播放| 国产精产国品一二三在观看| 五月色网| 九九九九九九热| 久久九九re热| 天天人人综合| 久久性爱视频这里只有精品| 秋霞簧片| 婷婷色片| 色婷婷六月| 久久99精品久久久| 99视频色在线观看| 丁香婷婷影院| www.zbzhongsen.com| 99在线观看视频| 天天综合色| 九九精品丁香花| 99免费热视频在线| 五月天婷婷影院影院| 999婷婷综合| 婷婷中文字幕版| 久久久27操| 在线观看免费视频| 大香蕉久久婷婷精品综合| www色婷婷com| 天天日狠狠| 婷婷色六月| 熟妇无码乱子成人精品| 免费无码毛片一区二区A片| 91精品综合久久久久久五月丁香| 99国产精品久久久久久久久久久| 91成人性爱视频| 日韩中文欧美| 日本99婷婷| wuyuedingxiang99| 五月婷婷激情| AV色色天堂中文| 婷婷亚洲影院| 日欧大屏操| 人妻丰满精品一区二区A片| 国产精品人成A片一区二区| 色九九综合色| 丁香色六月| 激情小说五月天| av网站不卡在线| 开心 五月 综合| 色玖玖导航| 狠狠色婷婷综合开心影视| 成人电影在线免费试看| 99 热| 国产婷婷综合在线免费视频| 六月激情网| 欧美色久| 停停五月天激情网| 玖玖99婷婷| 五月天开心成人网| 色综合色色| 99色婷婷视频| XX久久| 91久久综合亚洲噜噜成人在线| 激情婷婷五月久久| 亚洲六月婷婷| 人人操AV| 久久婷婷婷| 婷婷黄色| 91男同视频| caopeng超碰| 九九亚洲| 久热2025无码| 九九黄色网| 亚洲精品欧洲精品| 五月丁香六月婷| www久| 亚洲无码色色| 亚洲sesesese| 91碰碰碰| 好好日激情五月天| 国产午夜精品一区二区三区嫩草| 欧美婷婷综合网| 五月丁香六月激情啪| 五月丁香婷婷色色| 激情综合啪啪啪| 五月丁香婷婷六月| 久久伦乱| 99爱在线视频| 亚洲欧洲色色| 亚洲AV成人无码精品| 五月丁香| 国产激情视频在线观看| 影音先锋一区二区三区| 夜丁香五月婷婷| 五月丁香日逼| 色色激情网| 九九九这里只有精品| 有哪些A片网站| 亚洲国产成人AV在线| 妻久久久久| 色色999三级片| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 国产成人AV在线| 亚洲愉拍99热成人精品| 五月婷婷啪啪| 另类激情综合| 免费黄色视频网址| 人人操人人爱丁香五月| 国产亚洲精品久久久久久郑州| 色久女| 99在线精品免费视频| 91色婷婷综合久久中文字幕二区| 久久这里只有精品8| 激情五月最新网址| 丁香美女主播视频在线观看| 六月丁香啪啪啪| 久久99成人性爱高清视频| 婷婷五月花| 熟女激情五月天 | 色欲丁香| 日日操,夜夜撸| 精品久久婷婷| www超碰| 精品乱码久久久久| 九九色综合| 亚洲国产黄色电影| 99A级片| 五月综合激情图片 | 丁香五月另类小说在线阅读| 一起草av| 久久66er久久| 五月丁香六月激情| 五月色婷婷影视在线电影| 思思热视频在线| 99热这里只有精品免费观看| 五月刺激丁香月综合| 婷激情五月| 久久精品色| 激情碰碰碰| 91色婷婷综合久久中文字幕二区| 久久久久久久综合狠狠综合| 99久久99九九99九九九| 久久天天天| 青青久久五月天丁香婷婷| 六月色丁香中文字幕| 奇米色大香蕉| 99热综合| 91九色欧美| 五月丁香婷婷福利| 激情婷| 波多野结衣不卡AV| 99这里只有精品|v| 直接看的av| 丁香婷婷色六月| 99久久精彩视频。| 26uuu精品一区二区| 中文字幕在线资源| 色狠狠综合入口| 五月天中文字幕在线婷婷| 婷婷影院A成人| 亚洲操操操| 碰碰女| 色五月丁香五月天| 伊人狠狠干| 热热久久精品视频| 亚洲中文丁香| 一区二区免费看| Caoub青青超碰| 伊人婷婷大香蕉在线| 99热在这里只有精品| 激情九月综合| 天堂五月婷婷| 美女爆乳18禁www久久久久久| 色综合区| 99性爱视频| 欧美黄色韩日网| 99热国产在线| 国产热精品| 五月丁香久久呀| 亚洲中文无码成人| 狠狠艹狠狠艹| 99热9| 国产欧美日韩性爱| 91黄址| 丁香五月天日韩无码| 久久9久| 操碰91| 97精品在线| 久久99精品九九久久久婷婷| 新激情五月开心五月婷婷五月丁香五月| 久久大香蕉视频| 丁香五月激情棕合| 六月丁香色色色| 大香蕉五月天婷婷| 亚洲综合99| 婷婷在线观看五月天在线视频| 婷婷五月综合丁香久久| 天天插综合| 久操热线| 成人免费120分钟啪啪| 亚洲综合99| 91精品婷婷国产综合久久| 天天操,天天插| 天天搞天天色综合| 99热这里只有精品国产首页| 97涩涩丁香五月天| 青青草蜜臀| 日韩在线五月天婷婷| 色五月婷婷中文字幕在线观看| 九九色情网五月天| 在线观看免费狠狠色丁香香综合| 五月天大香蕉av| 九九美女视频| 六月激情婷婷综合| 中文字幕在线播放视频| 97人操| 99欧州偷拍视频| 色六月天天激情综合网| 秋霞日本免费毛片A片| 成人va在线| 五月天婷婷激情在线色图| 51精品国自产在线| 国产高清视频91九九九久久久| 丰满女老板BD高清A片| 天天综合在线网| 亚洲成人AV在线播放| 99热这里只有在线| 五月色影院| 综合久久影院| 国产91资源在线| 97婷婷五月激情六月丁香伊人| 色色五月天 亚洲| 一级黄色操B| www狠狠| 色婷婷六月天在线| 久久99精品久久久久久噜噜| 五月婷婷开心五月| 99欧美| 热婷婷av| 久操福利| 操99| 色色 亚洲| 99欧美| 成人婷99最新| www.狠狠| 99操无码视频观看| 草操AV在线| 色色热| 国外亚洲成AV人片在线观看| 婷婷综合九色伊人| 亚洲成人网站在线播放| 欧美婷婷日本| 人妻尝试久久久久久久久久久久| 777精品成人a v久久| 天天干天天射色综合| 亚洲国产色色| 中文字幕在线免费观看视频| 九九色热| 97久久草草超级碰碰碰| 亚洲综合99| 热久久77777| 五月激情小说| 91啪啪视频| 91丨人妻丨国产丨丝袜| 成人在线高清| 99亚洲大片精品永久在线观看| 热久久66| 99热这里有精品| 欧美日韩中国| 六月婷婷激情小说网| 日日噜狠狠色| 99在线观看| 欧美熟女99| 综合色五月| www.91热久久| 丁香六月 婷婷六月| 国产精品久久7777777精品无码| 啪啪六月婷婷| 激情综合网激情五月婷婷| 991自拍视频| 激情五月五月五月婷婷| 26uuu欧美日本| 日韩精品AV一区二区三区| 9久热在线精品| 天天操天天操综合| 97色碰| 色综合区| 五月丁香啪啪啪啪| 久久大香免费| 免费视频99| 久久这里只有精品视频15 | 国产原创视频91九色| 69综合在线| 深爱激情丁香| 亚洲AV久久久久久久久久久久久久久久| 情婷婷五月天在线| 天天操天天曰| 婷婷开心深爱五月天| 国产精品色一哟哟| 久久精品国产精品| WWW色五月天| WWW.婷婷| 欧美激情综合| 色婷婷基地| 国产av基地| 91操人视频| 一区视频网站| 亚洲欧美成人在线| 秋霞A V毛片| 色综合色色| 超碰9| 99爱在线免费视频| 九九99久久| 国产精品成人在线| 色色热99| 国产精品日本一区二区在线播放| WWW·色色色·COM| 97色女人在线| 97资源碰碰| 欧美日韩91| 丁香婷婷偷拍| a级毛片一区二区免费视频| 伊人大香蕉在线视频| 国产精品电影| 九九综合色| 深爱五月月天| 天天日日夜夜| 永久AⅤ1| 97操| 久久久久人妻网址| 婷婷97狠狠干| 九九色插| 很很干天天干| 99ri视频| 色色色网站| 深爱激情69热| 狠狠情色| 99在线免费视频| 夜夜爽日日躁| 最新久久99视频网站| 日在线V视频在线播放| 久久五月婷| 巴基斯坦粉嫰无码视频| 婷婷五月av| 久久婷婷五月综合色播| 最近韩国日本免费高清观看| 99久久精品色老| 99网| 丁香五月婷婷在线观看| 国产99久| 婷婷五月天综合中文| 六月丁花香啪啪激情欧美| 秋霞学生妹一二级| 久热只有精品| 婷婷五月六月丁香综合| 婷婷97| 色女伊人| 九九精品热播| 99热9| 99热8| 五月丁香日本片| 婷婷伊人五月丁香天堂网| 亚洲小视频| 五月开心婷婷网| 婷婷五月久久| 六月婷婷色综合| 成人欧美Va| 婷婷涩五月| 国产精品扒开腿做爽爽爽A片唱戏| 久久精品在线| 99久免费视频| 欧美成人一区二区三区在线视频 | 亚洲无码成人网| 九九精品系列| 99视频只有精品| 激情六月丁| 久久99激情| 天天射天天干天插色综合| 玖玖在线视| 激情五月婷婷丁香综合网| 超碰免费观看| 久热这里| 六月婷婷综合| 激情婷婷五月天日本系列| 成人在线免费网址| 伊人无码高清| 五月婷婷亚洲| 天天久| 欧洲激情五月天婷婷| 婷婷综合中文| 色色综合网站| 另类视在线| 色播五月婷婷五月| 五月天婷a在线| WWW.99热| 4438成人电影| 久草嫩草在线观看| 精品成人无码A片观看香草视频| 日韩在线五月天婷婷| 亚洲区在线| 秋霞免费视频| 91色吧网| 噜噜久| www.六月丁香看AV| oumeisesewang| 色八月婷婷| 亚韩在线视频| 婷婷色在线视频| 日韩中出视频| 久久婷婷午夜| 成人网在线观看视频| 婷婷五月色情天| 99性爱视频网站| 色婷五月天亚洲| 色综合播放| 狠狠色丁香久久久婷| 日韩啪啪自拍| 色爆五月| 五月天sesese| 亚洲欧美成人在线观看| 99久在线精品| 超碰在线人人| 九九热精品视频在线观看| 亚洲激情五月婷婷日日| 婷婷伊人綜合| 成人AV综合在线| 91九色在线观看免费| 三男玩一女三A片| 天天噜噜| 六月丁香网| 一本色道久久88加勒比| 五月天婷婷操逼视频| 久久久五月婷婷| 久热这里只有精品66| 欧美色五月| 97人人操人人爽| 五月丁香六月婷婷综合在线| 九九久久玖玖爱| 日本理论久久| 色哟哟精品| 香蕉狠狠爱视频| 丁香六月AV| 激情五月伊人婷婷| 热热久久久久久久久| 情色五月天网站| 欧洲激情网站| 激情五月丁香激情综合网| 婷婷久久五月| 99色啊| 婷婷五月开心中文字幕在线| 99re这里只有精品9| 色五月婷婷青娱乐| 丁香五月中文字幕| 草草影院爱爱| 99re99在线看| 综合热无码| 久热A| 97碰超级人人看| 婷婷免费视频| 久久se 综合网 | 97在线观视频免费观看| 国产欧美第五十五页| 日韩欧美成人片| 日本五月天激情| 热久久99热欧美国产亚洲| 成人AV中文字幕| 婷婷激情综合| 五月丁香激情综合| 亚洲第一成人无码A片| 色婷婷成人做爰A片免费看网站| 婷婷九月丁香| 六月丁香啪啪啪| 高清免费在线视频| 97婷婷在线视频| www.av视频xx999.com| www.99在线| 五月综合777| 五月天婷婷丁香导航| 六月丁香激情网| 婷婷伊人网| 丁香性爱在线视频| 丁香五月婷婷高清| 99这里有精品久久97| 成人精品在线| 性天天中文网| 综合色五月天| 丁香婷婷成年| 久久99免费视频| 5月色婷婷| 色五月婷婷基地| 天天爽天天爽| 久久婷中文字幕| 欧美综合丁香网| 五月丁香婷婷爱| 免费在线观看AV网站| 国产成人av在线| 亚洲 视频 导航 一区| 亚洲精品久久久无码| 51精品国自产在线| 婷婷色色丁香| 色天天综合色| 婷婷五月天无码| 狠狠干狠狠色| 99热新网址| 五月丁香六月激情综合在线| 亚洲色情网站| 99爱爱| 五月婷婷精品| 色噜综| 天天骑天天操| 99日精品视频| 五月天六月婷| 久久XX| 我爱大香蕉| 99爱视频| 日曰躁夜夜躁2026| 久久无码激情视频| 五月丁香六月婷婷玖玖| 亚洲小说欧美激情| 亚洲九九夜夜| 人人草碰| 天天拍夜夜爽| 五月丁香六月激情综合| 五月丁香色停停啪啪啪| 97超碰色| 天天狠狠插| 色色婷婷五月天| 久99久热| 狠狠干综合| 久久一品区| 色婷婷先锋| 日本黄色一级| 激情图片婷婷| 噜噜视频| 亚洲婷婷视频| se99视频| 亚洲成人另类| 91无码高清| 97干在线视频精品店| enecarbon-materials.com污K127封锁请涟系@wip1688 | 色综合区| 可以免费观看的av| 无码激情AAAAA片-区区| 九九性爱网| 久久综合五月天| 91呦呦呦| 26uuu欧美日韩| 天天爱天天操| 久久久婷婷婷| 狠狠狠狠狠狠狠狠| 伊人春天av| 超碰人人操人人干| 草草视频91| 激情综合久久| 亚洲va日| 亚洲乱码日产精品BD|