成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java數據庫讀寫分離-數據庫中間件DBProxy

開發 后端 數據庫運維
相對于業務邏輯分庫分表,通過DBProxy數據庫中間件,可以更簡單輕松更快的對數據庫進行水平擴展,由原來單臺數據庫擴展到多臺數據庫,數據庫中間件通過路由規則將數據的訪問請求路由到其中一臺數據庫上,從而大大降低了數據訪問的瓶頸和單臺數據的壓力。

java數據庫讀寫分離-數據庫中間件DBProxy

前言碎語

好久沒更博了,今天引用美團技術團隊的一篇文章來給大家分享一款數據庫中間件-美團DBProxy!

我們都知道,隨著數據量的不斷增大,傳統的直連數據庫對數據進行訪問的方式已經無法滿足一般公司的需求。相對于業務邏輯分庫分表,通過DBProxy數據庫中間件,可以更簡單輕松更快的對數據庫進行水平擴展,由原來單臺數據庫擴展到多臺數據庫,數據庫中間件通過路由規則將數據的訪問請求路由到其中一臺數據庫上,從而大大降低了數據訪問的瓶頸和單臺數據的壓力。

開源項目地址:https://github.com/Meituan-Dianping/DBProxy

概述

這次分享的主要內容包括6個部分:

  • ***是我的簡單介紹一下美團點評DBProxy;

  • 第二部分,會介紹一下美團點評DBProxy的整體架構;

  • 第三個是美團點評DBProxy的主要模塊,主要模塊介紹我們美團點評在上面的主要工作;

  • 第四個部分是上線的現狀;

  • 第五個部分是我們后續的一些安排,未來的計劃;

  • ***是QA的部分。

java數據庫讀寫分離-數據庫中間件DBProxy

DBProxy的優點

首先介紹一下為什么要使用DBProxy:

  • 使用DBProxy之后,應用程序只需要在連接串中設置DBProxy的地址,不需要關注整個數據庫集群的結點;

  • DBProxy內部實現負載均衡,讀寫分離;

  • Slave上下線的操作由DBA在自動化運營系統上點一下鼠標就能夠完成。

這樣極大的減輕了DBA和應用開發人員的工作;而沒有DBProxy的情況下,這些工作是由RD來實現的,引入DBProxy對于系統的可管理性和便利性都有非常大的幫助。

java數據庫讀寫分離-數據庫中間件DBProxy

DBProxy的軟件模塊

介紹DBProxy的軟件模塊。軟件模塊分三層:

  • ***層是一個訪問控制,包括用戶處理,IP過濾等等的功能;

  • 中間層是一個SQL處理的過程,包括SQL解析,SQL重寫,和SQL執行;

  • 第三層就是一個主要和DBA連接相關的一個模塊,像讀寫分離,負載均衡,連接池;

  • 另外還有三個模塊是貫穿整個三層的: ***是連接的管理,負責管理收發數據的底層連接;第二是日志的管理,第三個是監控管理。

java數據庫讀寫分離-數據庫中間件DBProxy

DBProxy連接改進

首先介紹一下連接的管理:根據我們鏈路比較長的特點,著重添加了對于連接異常的檢測和處理,包括:

  • DBProxy上游和MGW交互的連接檢測;

  • DBProxy下游和MySQL連接的檢測;

  • DBProxy所在機器的連接檢測。

java數據庫讀寫分離-數據庫中間件DBProxy

MTAltas SESSION級變量

SQL處理模塊中增加了SESSION參數的功能: 客戶端分配一個DB連接的時候,如果二者SESSION級參數不一樣時,首先做一個校正,校正之后才會真正執行查詢。

java數據庫讀寫分離-數據庫中間件DBProxy

DBProxy連接池改進

連接池的管理中做了這樣的修改:將鏈表改成Hash表,其中Hash鍵是用戶名,Hash值是以用戶身份建立的連接的一個鏈表。如下圖把連接按用戶來分,client分別會分到各自user建立的db連接,二者互不影響,既保證了查詢的正確性,又保證了較高的性能。

java數據庫讀寫分離-數據庫中間件DBProxy

DBProxy訪問控制

下面講一下訪問控制模塊,是在我們整個軟件模型的***層。

  • ***個是增加了一個SQL過濾的功能:

  • 該功能由黑名單的方式實現,黑名單的形式是如下邊兩個語句;

  • 黑名單可以根據執行的頻率,執行的時間來自動的添加,其中頻率時間,都是可以根據自己的需求動態修改的,另外我們也提供了一個手動添加黑名單的功能。

  • 第二個個是根據后臺db的thread running進行負載均衡,每當分配到一個后臺的連接的時候,先檢查后臺的Thread running數,直到有一個thread running數在我閾值之內的時候才真正去分配。

  • 第三個就是用戶IP限制,我們限制了用戶的host地址,相當于進行一個權限的控制。

  • ***一個就是從庫流量配置,我可以指定某一個用戶只能訪問某幾個從庫,或者反過來說某幾個從庫只允許某幾個用戶訪問,這樣可能在一個更細的力度上對數據庫的資源進行分配。

java數據庫讀寫分離-數據庫中間件DBProxy

DBProxy監控模塊

DBProxy的監控體系實現了一個從無到有的過程,目前主要監控一些DBProxy內部運行相關的一些參數:

java數據庫讀寫分離-數據庫中間件DBProxy

DBProxy Sharding改進

對于sharding版本,做了如下的改進:

  • 首先我們把分庫變成分庫分表,并且提供了5種分庫分表的方式;

  • 第二個是改進了Lemon基本上兼容MySQL語法;

  • 第三個是有限支持單個庫內部的JOIN,經過Lemon解析后,發現涉及的表都是在同一個庫,那么表的JOIN是支持的;

  • 同樣的道理,單庫的事務也是支持的。

  • ***一個就是增加錯誤處理:在一個庫上面執行出錯的時候,會相應有一些rollback的機制,來處理一些異常情況導致的執行失敗。

java數據庫讀寫分離-數據庫中間件DBProxy

Q:這方面能大概講一下怎么去改進的?

A:首先是一個語法的支持,我們就是把中間不支持語法的支持,這樣的話有些復雜的查詢,我們可以通過這個語法來進行一些,比如說where條件的分析,可以知道分布分表的情況,然后就是表的替換。

DBProxy上線現狀

和大家分享一下上線的現狀:從2015.5上線***個版本后到現在已經有87%的服務組接入了DBProxy, DBProxy也已經經歷了5個版本的迭代。

java數據庫讀寫分離-數據庫中間件DBProxy

DBProxy未來計劃

***講一下未來的計劃:

  • ***個就是更強大的SQL處理:

  • 增加一些SQL優化,Row cache的功能;

  • 分庫分表全面的SQL支持,如聚集,排序;

  • 更全面的連接上下文信息;

  • 第二:監控管理要結合自動故障處理,真正把監控的信息智能化;

  • 第三:下一個是和我們美團點評自己的MHA融合,支持自動故障切換;

  • 第四:支持分布式事務。 

責任編輯:龐桂玉 來源: 今日頭條
相關推薦

2017-12-01 05:04:32

數據庫中間件Atlas

2017-11-27 05:36:16

數據庫中間件TDDL

2017-11-27 05:06:42

數據庫中間件cobar

2011-08-10 13:03:58

CJDBC數據庫集群

2017-05-23 18:55:05

mysql-proxy數據庫架構

2024-12-06 08:29:29

2017-07-26 09:41:28

MyCATSQLMongoDB

2018-11-07 15:30:19

數據庫NewSQLNoSQL

2019-01-29 14:55:50

數據庫中間件分庫分表

2017-11-27 06:01:37

數據庫中間件中間層

2017-12-01 05:40:56

數據庫中間件join

2017-12-11 13:30:49

Go語言數據庫中間件

2017-07-18 17:07:40

數據庫 MyCATJoin

2017-07-18 17:35:16

數據庫MyCATPreparedSta

2017-11-03 11:02:08

數據庫中間件

2017-11-30 08:56:14

數據庫中間件架構師

2022-12-15 09:44:29

數據庫利器

2020-10-15 08:34:32

數據庫中間件漫談

2021-07-27 05:49:59

MySQL數據庫中間件

2009-01-20 10:45:55

Oracle數據庫中間件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕在线视频免费视频 | 成人免费视频7777777 | 国产精品久久7777777 | www一级片 | 欧美啪啪网站 | 第四色播日韩第一页 | 欧美二区在线 | 国产精品一二三区 | 九九av | wwwxxx日本在线观看 | 99视频免费在线观看 | 久热国产精品视频 | 久久精品亚洲精品国产欧美kt∨ | 久久亚洲一区 | 国产精品久久久久久久久久久久冷 | 亚洲高清在线 | 欧美日韩视频在线第一区 | 欧美亚洲一区二区三区 | 欧美黄色一区 | 亚洲视频在线播放 | 久久久久久美女 | 成人精品一区二区 | 亚洲女人天堂成人av在线 | 这里只有精品999 | 国产精品爱久久久久久久 | 久久一| 免费黄色大片 | 国产高清在线视频 | 亚洲第一女人av | 国产小视频在线 | 免费 视频 1级 | 一区二区三区在线观看视频 | 99re热精品视频 | 美女视频一区 | a黄视频| 国产精品久久久久久久久久免费看 | 欧美精品一区二区在线观看 | 国产精品久久久久久妇女 | 六月成人网 | 日韩免费网站 | av黄色在线观看 |