我從早期的amoeba讀寫分離,druid,tddl分庫分表,現(xiàn)在在使用公司自己的數(shù)據(jù)庫組件!也來交流下數(shù)據(jù)庫中間件!
數(shù)據(jù)庫中間件可以說是分布式,高并發(fā)系統(tǒng)架構(gòu)中一定會用的!
一般來說,一個復(fù)雜系統(tǒng)里面會有消息中間件(生產(chǎn)者和消費(fèi)者之間通信的),數(shù)據(jù)庫中間件(服務(wù)與數(shù)據(jù)庫之間通信的),服務(wù)中間件(連接多個服務(wù)的)等等!
何為中間件?就是連接兩個系統(tǒng)并做特殊處理的組件!
何為數(shù)據(jù)庫中間件?業(yè)務(wù)應(yīng)用系統(tǒng)通過數(shù)據(jù)庫中間件對數(shù)據(jù)庫進(jìn)行操作(增刪改查,分庫分表,讀寫分離,性能監(jiān)控等)的組件!
中間件特點:就是對解耦的兩個系統(tǒng)進(jìn)行通信,互相解耦,中間件具備擴(kuò)展性,可替換性!同時集中式的管理,監(jiān)控!提供高可用性,大容量,高并發(fā)的解決方式!
數(shù)據(jù)庫中間件的分類:
沒有嚴(yán)格分類,根據(jù)功能可以分為:
1,讀寫分離,分庫分表這種跟業(yè)務(wù)息息相關(guān)的中間件!
2,數(shù)據(jù)庫之間進(jìn)行同步和遷移的中間件
3,增量消費(fèi)數(shù)據(jù)的中間件!
數(shù)據(jù)庫中間件有哪些產(chǎn)品呢?
分庫分表組件:Cobar,mycat,tddl,DDB,Sharding-jdbc!
增量消費(fèi)組件:canal,Erosa!
同步和遷移數(shù)據(jù)組件:Otter,DRC,DataX!
伴隨著大容量,高并發(fā)的分布式系統(tǒng)的變遷,中間件技術(shù)也日益發(fā)展,但是不同的中間件都是開發(fā)公司為了滿足自身業(yè)務(wù)需要進(jìn)行開發(fā)的組件,所以選擇中間件的時候一定要酌情處理,必要時需要自己定向開發(fā)中間件!
我們公司就用了自己開發(fā)的dmds數(shù)據(jù)庫中間件!滿足自己的業(yè)務(wù)需要!
有需要了解數(shù)據(jù)庫中間件怎么玩的朋友,可以私聊我,咱們一塊交流,我知無不答!