自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL proxy讀寫分離如何運(yùn)行?

數(shù)據(jù)庫 MySQL
以下的文章主要介紹的是MySQL proxy讀寫分離的實(shí)際操作步驟,以及相關(guān)的實(shí)際應(yīng)用代碼的示例,以下就是文章的具體內(nèi)容描述。

我們大家都知道MySQL Proxy是處于客戶端的實(shí)際應(yīng)用程序與MySQL數(shù)據(jù)庫服務(wù)器之間,主要是通過截?cái)?、改變并轉(zhuǎn)發(fā)客戶端與后端數(shù)據(jù)庫之間的通信實(shí)現(xiàn)其功能的,這與WinGate之類的網(wǎng)絡(luò)代理服務(wù)器的基本思想是一樣的。

代理服務(wù)器是和TCP/IP協(xié)議打交道,而要理解MySQL Proxy的工作機(jī)制,同樣要清楚MySQL客戶端和服務(wù)器之間的通信協(xié)議,MySQL Protocol包括認(rèn)證和查詢兩個(gè)基本過程:

 

認(rèn)證過程包括:

客戶端向服務(wù)器發(fā)起連接請(qǐng)求

服務(wù)器向客戶端發(fā)送握手信息

 

客戶端向服務(wù)器發(fā)送認(rèn)證請(qǐng)求

 

服務(wù)器向客戶端發(fā)送認(rèn)證結(jié)果

 

如果認(rèn)證通過,則進(jìn)入查詢過程:

 

客戶端向服務(wù)器發(fā)起查詢請(qǐng)求

服務(wù)器向客戶端返回查詢結(jié)果

 

當(dāng)然,這只是一個(gè)粗略的描述,每個(gè)過程中發(fā)送的包都是有固定格式的,想詳細(xì)了解MySQL Protocol的同學(xué),可以去這里看看。MySQL Proxy要做的,就是介入?yún)f(xié)議的各個(gè)過程。首先MySQL Proxy以服務(wù)器的身份接受客戶端請(qǐng)求,根據(jù)配置對(duì)這些請(qǐng)求進(jìn)行分析處理,然后以客戶端的身份轉(zhuǎn)發(fā)給相應(yīng)的后端數(shù)據(jù)庫服務(wù)器,再接受服務(wù)器的信息,返回給客戶端。

所以MySQL Proxy需要同時(shí)實(shí)現(xiàn)客戶端和服務(wù)器的協(xié)議。由于要對(duì)客戶端發(fā)送過來的SQL語句進(jìn)行分析,還需要包含一個(gè)SQL解析器??梢哉fMySQL Proxy相當(dāng)于一個(gè)輕量級(jí)的MySQL了,實(shí)際上,MySQL Proxy的admin server是可以接受SQL來查詢狀態(tài)信息的。

 

MySQL Proxy通過lua腳本來控制連接轉(zhuǎn)發(fā)的機(jī)制。主要的函數(shù)都是配合MySQL Protocol各個(gè)過程的,這一點(diǎn)從函數(shù)名上就能看出來:

  1. connect_server()   
  2. read_handshake()   
  3. read_auth()   
  4. read_auth_result()   
  5. read_query()   
  6. read_query_result()  

 

至于為什么采用lua腳本語言,我想這是因?yàn)镸ySQL Proxy中采用了wormhole存儲(chǔ)引擎的關(guān)系吧,這個(gè)蟲洞存儲(chǔ)引擎很有意思,數(shù)據(jù)的存儲(chǔ)格式就是一段lua腳本,真是創(chuàng)意無限啊。

 

國人寫的MySQL 負(fù)載均衡

以下是amoeba介紹

Amoeba 座落與Client、Database Server(s)之間。 具有負(fù)載均衡、高可用性、sql過濾、可承受高并發(fā)、讀寫分離、Query Route(解析sql query語句,并且根據(jù)條件與預(yù)先設(shè)定的規(guī)則,請(qǐng)求到指定的目標(biāo)數(shù)據(jù)庫。可并發(fā)請(qǐng)求多臺(tái)數(shù)據(jù)庫合并結(jié)果)、對(duì)客戶端透明。

主要降低 數(shù)據(jù)切分帶來的復(fù)雜多數(shù)據(jù)庫結(jié)構(gòu)、數(shù)據(jù)切分規(guī)則 給應(yīng)用帶來的影響。

能夠輕易實(shí)現(xiàn)讀寫分離

Failover

 

負(fù)載均衡。

 

能夠幫助解決數(shù)據(jù)切分問題

 

目前amoeba 實(shí)現(xiàn)了 MySQL 數(shù)據(jù)庫的相關(guān)技術(shù)。

適用:

MySQL 4.1或者以上版本(MySQL 協(xié)議版本:10)

 

暫時(shí)不支持事務(wù)、DDL語句目前只會(huì)分配給默認(rèn)的數(shù)據(jù)庫執(zhí)行

 

運(yùn)行環(huán)境:

至少需要運(yùn)行 MySQL 4.1以上 服務(wù)一個(gè);

Java 1.5或 以上版本

 

 

以上的相關(guān)內(nèi)容就是對(duì)MySQL proxy讀寫分離的介紹,望你能有所收獲。

【編輯推薦】

  1. 解決MySQL中文亂碼的方法歸納
  2. MySQL 安裝備份在Linux系統(tǒng)中的安裝
  3. MySQL安裝與qmail實(shí)際操作概述
  4. MySQL filter的實(shí)際配置
  5. MySQL數(shù)據(jù)庫+Postfix投遞經(jīng)過驗(yàn)證的郵件正確設(shè)置
責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-08-30 12:49:59

Mysql ProxyLua分離

2011-08-30 09:59:47

Mysql ProxyLUA

2011-08-30 13:08:55

Mysql ProxyLua分離

2011-08-30 10:51:40

MySQL ProxyLua分離

2017-05-25 10:22:13

NoSQL數(shù)據(jù)庫主主備份

2022-04-25 08:03:57

MySQL中間件MyCat

2009-05-04 09:13:52

PHPMySQL讀寫分離

2017-09-04 09:53:58

MySQLAtlasNavicat

2021-06-25 10:05:58

SpringBootMySQL數(shù)據(jù)庫

2021-03-08 08:16:42

MySQL分離架構(gòu)

2021-09-08 10:23:08

讀寫分離Java數(shù)據(jù)庫

2020-12-08 06:17:11

MycatMySQL分離

2011-07-22 13:24:55

MySQL Proxy讀寫離別

2019-05-13 15:00:14

MySQLMyCat數(shù)據(jù)庫

2025-01-24 08:38:47

2020-11-24 09:56:12

數(shù)據(jù)源讀寫分離

2019-09-30 09:19:54

Redis分離云數(shù)據(jù)庫

2018-10-16 16:45:05

數(shù)據(jù)庫讀寫分離

2020-03-24 14:16:18

ProxySQLMySQL數(shù)據(jù)庫

2018-04-08 15:20:15

數(shù)據(jù)庫MySQL主從復(fù)制
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)