日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame鏈?zhǔn)讲僮?主從切換

從之前的介紹我們知道?gdb?支持基于應(yīng)用層的主從配置以及讀寫(xiě)分離,并且所有的特性?xún)H需要通過(guò)簡(jiǎn)單的配置即可實(shí)現(xiàn),?gdb?內(nèi)部將會(huì)對(duì)?SQL?請(qǐng)求自動(dòng)地進(jìn)行主從切換。以下是一個(gè)簡(jiǎn)單的主從配置,包含一主一從:

成都創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供月湖網(wǎng)站建設(shè)、月湖做網(wǎng)站、月湖網(wǎng)站設(shè)計(jì)、月湖網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、月湖企業(yè)網(wǎng)站模板建站服務(wù),10年月湖做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

database:
  default:
  - type: "mysql"
    link: "root:12345678@tcp(192.168.1.1:3306)/test"
    role: "master"
  - type: "mysql"
    link: "root:12345678@tcp(192.168.1.2:3306)/test"
    role: "slave"

在大部分的場(chǎng)景中,我們的寫(xiě)入請(qǐng)求是到?Master?主節(jié)點(diǎn),而讀取請(qǐng)求是到?Slave?從節(jié)點(diǎn),這樣的好處是能夠?qū)?shù)據(jù)庫(kù)的請(qǐng)求進(jìn)行壓力分?jǐn)?,并提高?shù)據(jù)庫(kù)的可用性。但在某些場(chǎng)景中,我們期望讀取操作在?Master?節(jié)點(diǎn)上執(zhí)行,特別是一些對(duì)于即時(shí)性要求比較高的場(chǎng)景(因?yàn)橹鲝墓?jié)點(diǎn)之間的數(shù)據(jù)同步是有延遲的)。

開(kāi)發(fā)者可以通過(guò)?Master?和?Slave?方法自定義決定當(dāng)前鏈?zhǔn)讲僮鲌?zhí)行在哪個(gè)節(jié)點(diǎn)上。

我們來(lái)一個(gè)簡(jiǎn)單的示例。我們有一個(gè)訂單系統(tǒng),每天的流量比較大,因此數(shù)據(jù)庫(kù)在主從同步時(shí)往往會(huì)存在?1-500ms?時(shí)間的延遲。在業(yè)務(wù)需求中,創(chuàng)建訂單后需要立即展示訂單列表頁(yè)面??梢灶A(yù)料到如果該訂單列表頁(yè)面默認(rèn)往從節(jié)點(diǎn)讀取數(shù)據(jù)的話,很有可能用戶在創(chuàng)建訂單后在訂單列表頁(yè)面看不到最新創(chuàng)建的訂單(因?yàn)閿?shù)據(jù)庫(kù)主從同步延遲)。這個(gè)問(wèn)題,我們可以在訂單列表頁(yè)面設(shè)置為往主節(jié)點(diǎn)讀取數(shù)據(jù)即可解決。

  • 在訂單創(chuàng)建的時(shí)候,沒(méi)有必要指定操作的節(jié)點(diǎn),因?yàn)閷?xiě)入操作默認(rèn)是在主節(jié)點(diǎn)上執(zhí)行的。為簡(jiǎn)化示例,我們這里僅展示關(guān)鍵的代碼:
 db.Model("order").Data(g.Map{
     "uid"   : 1000,
     "price" : 99.99,
     // ...
 }).Insert()

  • 在訂單列表頁(yè)面查詢(xún)時(shí),我們需要使用?Master?方法指定查詢(xún)操作是在主節(jié)點(diǎn)上進(jìn)行,以避免讀取延遲。
 db.Model("order").Master().Where("uid", 1000).All()

當(dāng)前標(biāo)題:創(chuàng)新互聯(lián)GoFrame教程:GoFrame鏈?zhǔn)讲僮?主從切換
當(dāng)前地址:http://m.5511xx.com/article/dpdosos.html