欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

go語言mysql集群 mysql連接池

如何用Go語言打造一個(gè)高性能MySQL Proxy

讀取配置文件并啟動(dòng),在配置文件中設(shè)置的監(jiān)聽端口監(jiān)聽客戶端請(qǐng)求。

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、桑珠孜ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的桑珠孜網(wǎng)站制作公司

收到客戶端連接請(qǐng)求后,啟動(dòng)一個(gè)goroutine單獨(dú)處理該請(qǐng)求。

首選進(jìn)行登錄驗(yàn)證,驗(yàn)證過程完全兼容MySQL認(rèn)證協(xié)議,由于用戶名和密碼在配置文件中已經(jīng)設(shè)置好,所以可以利用該信息驗(yàn)證連接請(qǐng)求是否合法。

當(dāng)用戶名和密碼都正確時(shí),轉(zhuǎn)入下面的步驟,否則返回出錯(cuò)信息給客戶端。

認(rèn)證通過后,客戶端發(fā)送SQL語句。

kingshard對(duì)客戶端發(fā)送過來的SQL語句,進(jìn)行詞法和語義分析,識(shí)別出SQL的類型和生成SQL的路由計(jì)劃。如果有必要還會(huì)改寫SQL,然后轉(zhuǎn)發(fā)到相應(yīng)的DB。也有可能不做詞法和語義分析直接轉(zhuǎn)發(fā)到相應(yīng)的后端DB。如果轉(zhuǎn)發(fā)SQL是分表且跨多個(gè)DB,則每個(gè)DB對(duì)應(yīng)啟動(dòng)一個(gè)goroutine發(fā)送SQL和接收該DB返回的結(jié)果。

接收并合并結(jié)果,然后轉(zhuǎn)發(fā)給客戶端。

如何利用一個(gè)數(shù)據(jù)庫中間件擴(kuò)展MySQL集群

安裝Go語言環(huán)境 。

git clone https //github com/flike/kingshard.git src/github.com/flike/kingshard

cd src/github.com/flike/kingshard

source ./dev.sh

make

設(shè)置配置文件

運(yùn)行kingshard。./bin/kingshard -config=etc/ks.yaml

Go語言使用gorm對(duì)MySQL進(jìn)行性能測(cè)試

之前寫過了Go語言gorm框架MySQL實(shí)踐,其中對(duì)gorm框架在操作MySQL的各種基礎(chǔ)實(shí)踐,下面分享一下如何使用gorm框架對(duì)MySQL直接進(jìn)行性能測(cè)試的簡單實(shí)踐。

這里我使用了一個(gè)原始的Go語言版本的 FunTester 測(cè)試框架,現(xiàn)在只有一個(gè)基本的方法,實(shí)在是因?yàn)镚o語言特性太強(qiáng)了。框架設(shè)計(jì)的主要思路之一就是利用Go語言的閉包和方法參數(shù)特性,將一個(gè) func() 當(dāng)做性能測(cè)試的主題,通過不斷運(yùn)行這個(gè) func() 來實(shí)現(xiàn)性能測(cè)試。當(dāng)然還有另外一個(gè)思路就是運(yùn)行一個(gè)多線程任務(wù)類,類似 Java 版本的 com.funtester.base.constaint.ThreadBase 抽象類,這樣可以設(shè)置一些類的屬性,綁定一些測(cè)試資源,適配更多的測(cè)試場(chǎng)景。

下面演示select的性能測(cè)試,這里我用了隨機(jī)ID查詢的場(chǎng)景。

這里我使用從35開始遞增的ID進(jìn)行刪除。

這里使用了select的用例部分,隨機(jī)ID,然后更新name字段,隨機(jī)10個(gè)長度的字符串。

這里用到了 FunTester 字段都是隨機(jī)生成。

到這里可以看出,性能測(cè)試框架用到的都是gorm框架的基礎(chǔ)API使用,這里MySQL連接池的管理工作完全交給了gorm框架完成,看資料說非常牛逼,我們只需要設(shè)置幾個(gè)參數(shù)。這個(gè)使用體現(xiàn)很像 HttpClient 設(shè)置 HTTP 連接池類似,這里我們也可以看出這些優(yōu)秀的框架使用起來都是非常簡單的。

PS:關(guān)于gorm的基礎(chǔ)使用的請(qǐng)參考上一期的文章Go語言gorm框架MySQL實(shí)踐。

標(biāo)題名稱:go語言mysql集群 mysql連接池
瀏覽路徑:http://chinadenli.net/article24/hjosje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃自適應(yīng)網(wǎng)站網(wǎng)站維護(hù)響應(yīng)式網(wǎng)站全網(wǎng)營銷推廣營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)