您好,登錄后才能下訂單哦!
小編給大家分享一下mysql中proxy是什么意思,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
mysql proxy是mysql官方提供的mysql中間件服務,上游可接入若干個【mysql-client】,后端可連接若干個【mysql-server】,【mysql-proxy】最基本的用法,就是作為一個請求攔截,請求中轉的中間層。
mysql proxy的意思是:
# 背景
今天同事分享的主題就是mysql-proxy,于是下來自己了解下,不求精通,只求知道這個玩意
# 簡介
mysql-proxy是mysql官方提供的mysql中間件服務,上游可接入若干個mysql-client,后端可連接若干個mysql-server。
它使用mysql協議,任何使用mysql-client的上游無需修改任何代碼,即可遷移至mysql-proxy上。
mysql-proxy最基本的用法,就是作為一個請求攔截,請求中轉的中間層:
、
進一步的,mysql-proxy可以分析與修改請求。攔截查詢和修改結果,需要通過編寫Lua腳本來完成。
mysql-proxy允許用戶指定Lua腳本對請求進行攔截,對請求進行分析與修改,它還允許用戶指定Lua腳本對服務器的返回結果
進行修改,加入一些結果集或者去除一些結果集均可。
所以說,根本上,mysql-proxy是一個官方提供的框架,具備良好的擴展性,可以用來完成:
sql攔截與修改
性能分析與監控
讀寫分離
請求路由
# 用途
1. 分享的同事使用proxy的目的是,因為測試環境碰到了測試/開發同學不小心全表update/delete操作,導致測試數據異常,從而影響項目進度,于是他接入mysql-proxy對sql語句進行了攔截檢查,并可以將sql語句發送到DBA提供的一個sql review服務中去判斷sql語句是否有問題
2. 之前還有這么一段經歷,之前訂單經過拆庫操作,訂單表分為了128個庫,是根據訂單號去拆庫的,然而不是所有的表都有訂單號(歷史架構的鍋),如有個需求是根據手機號碼去查詢訂單號,導致要遍歷查詢128去判斷是否存在,那么就需要proxy介入,當時使用的是阿里的mycat中間件
# 不足
由于加入了一層proxy會導致網絡請求的增加消耗,所以性能造成一定的影響;
看完了這篇文章,相信你對mysql中proxy是什么意思有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。