作者簡(jiǎn)介
瑞華,攜程高級后端開(kāi)發(fā)工程師,關(guān)注系統架構、分庫分表、微服務(wù)、高可用等。
為此,經(jīng)過(guò)討論后,我們決定對訂單庫進(jìn)行分庫分表,同時(shí)對訂單表進(jìn)行重構,進(jìn)而從根本上解決這些問(wèn)題。
回答:對于跨庫操作,在訂單主流程應用中,我們目前是禁止了比如跨庫查詢(xún)、跨庫事務(wù)等操作的。對于跨庫事務(wù),因為根據訂單號、創(chuàng )建年份路由,都是會(huì )路由到同一個(gè)數據庫中,也不會(huì )存在跨庫事務(wù)。同樣對于跨庫關(guān)聯(lián)查詢(xún),也不會(huì )存在,往往都是根據訂單來(lái)進(jìn)行查詢(xún)。同時(shí),也可以適當進(jìn)行冗余,比如存儲車(chē)站編碼的同時(shí),多存儲一個(gè)車(chē)站名稱(chēng)字段。
回答:目前在訂單主流程應用中的分頁(yè)查詢(xún),我們直接采用了 Sharding-JDBC 提供的最原始的分頁(yè)方式,直接按照正常的分頁(yè) SQL,來(lái)進(jìn)行查詢(xún)分頁(yè)即可。理由:主流程訂單服務(wù),比如出票系統,往往都是查詢(xún)前面幾頁(yè)的訂單,直接查詢(xún)即可,不會(huì )存在很深的翻頁(yè)。當然,對于要求較高的分頁(yè)查詢(xún),可以去實(shí)現二次查詢(xún),來(lái)實(shí)現更加高效的分頁(yè)查詢(xún)。
回答:首先,切面方式,能最大限度滿(mǎn)足訂單同步的時(shí)效性。但是,在實(shí)踐過(guò)程中,我們發(fā)現,異步切面雙寫(xiě),會(huì )存在多線(xiàn)程并發(fā)問(wèn)題。因為在老庫中,表的關(guān)聯(lián)關(guān)系依賴(lài)于數據庫的自增 ID,依賴(lài)于表的插入順序,會(huì )存在關(guān)聯(lián)失敗的情況。所以,單純依靠切面同步還不夠,還需要更加穩健的方式,即定時(shí)任務(wù)(訂單事件是不可靠消息事件,即可能會(huì )存在丟失情況)的方式,來(lái)保證數據庫的一致性。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站