站長資訊網
        最全最豐富的資訊網站

        一起聊聊Mycat實現 Mysql 集群讀寫分離

        本篇文章給大家介紹了關于MySQL讀寫分離的相關知識,希望對大家有幫助。

        一起聊聊Mycat實現 Mysql 集群讀寫分離

        MySQL 讀寫分離的概述

        • MySQL 作為目前世界上使用最廣泛的免費數據庫,相信所有從事系統運維的工程師都一定接觸過。

        • 在實際的生產環境中,由單臺 MySQL 作為獨立的數據庫是完全不能滿足實際需求的,無論是在安全性,高可用性以及高并發等各個方面。

        • 因此,一般來說都是通過主從復制(Master-Slave)的方式來同步數據,再通過讀寫分離(MySQL-Proxy/Amoeba)來提升數據庫的并發負載能力進行部署與實施。

        讀寫分離工作原理

        • 基本的原理是:

        • 主數據庫處理事務性增、改、刪操作(INSERT、UPDATE、DELETE)

        • 從數據庫處理 SELECT 查詢操作

        • 數據庫復制被用來把事務性操作導致的變更同步到集群中的從數據庫。

        一起聊聊Mycat實現 Mysql 集群讀寫分離

        一起聊聊Mycat實現 Mysql 集群讀寫分離

        為什么要讀寫分離

        • 面對越來越大的訪問壓力,單臺的服務器的性能成為瓶頸,需要分擔負載

        • 主從只負責各自的寫和讀,極大程度的緩解 X(寫)鎖和 S(讀)鎖爭用

        • 從庫可配置 myisam 引擎,提升查詢性能以及節約系統開銷

        • 增加冗余,提高可用性

        實現讀寫分離的方式

        • 一般有兩種方式實現
        • 應用程序層實現,網站的程序實現
        • 應用程序層實現指的是在應用程序內部及連接器中實現讀寫分離

        一起聊聊Mycat實現 Mysql 集群讀寫分離

        • 優點:

        • 應用程序內部實現讀寫分離,安裝既可以使用

        • 減少一定部署難度

        • 訪問壓力在一定級別以下,性能很好

        • 缺點:

        • 架構一旦調整,代碼要跟著變

        • 難以實現高級應用,如自動分庫,分表

        • 無法適用大型應用場景

        中間件層實現:

        • 中間件層實現是指在外部中間件程序實現讀寫分離

        • 常見的中間件程序

        一起聊聊Mycat實現 Mysql 集群讀寫分離

        • Cobar:

        • 阿里巴巴 B2B 開發的關系型分布式系統,管理將近 3000 個 MySQL 實例。 在阿里經受住了考驗,后面由于作者的走開的原因 cobar 沒有人維護 了,阿里也開發了 tddl 替代 cobar。

        • MyCAT:

        • 社區愛好者在阿里 cobar 基礎上進行二次開發,解決了 cobar 當時存在的一些問題,并且加入了許多新的功能在其中。目前 MyCAT 社區活躍度很高,已經有一些公司在使用 MyCAT。總體來說支持度比

        • 較高,也會一直維護下去。

        • OneProxy:

        • 數據庫界大牛,前支付寶數據庫團隊領導樓總開發,基于 mysql 官方 的 proxy 思想利用 c 進行開發的,OneProxy 是一款商業收費的中間件,樓總舍去了一些功能點,專注在性能和穩定性上。有人測

        • 試過說在高并發下很穩定。

        • Vitess:

        • 這個中間件是 Youtube 生產在使用的,但是架構很復雜。 與以往中間件不同,使用 Vitess 應用改動比較大,要使用他提供語言的 API 接口,我們可以借鑒他其中的一些設計思想。

        • Kingshard:

        • Kingshard 是前 360Atlas 中間件開發團隊的陳菲利用業余時間 用 go 語言開發的,目前參與開發的人員有 3 個左右, 目前來看還不是成熟可以使用的產品,需要在不斷完善。

        • Atlas:

        • 360 團隊基于 mysql proxy 把 lua 用 C 改寫。原有版本是支持分表, 目前已經放出了分庫分表版本。在網上看到一些朋友經常說在高并發下會經常掛掉,如果大家要使用需要提前做好測試。

        • MaxScale 與 MySQL Route:

        • 這兩個中間件都算是官方的,MaxScale 是 mariadb (MySQL 原作者維護的一個版本)研發的,目前版本不支持分庫分表。MySQL Route 是現在 MySQL 官方 Oracle 公司發布出來的一個中間件。

        • 優點:

        • 架構設計更靈活

        • 可以在程序上實現一些高級控制,如:透明化水平拆分,failover,監控可以依靠技術手段提高 mysql 性能對業務代碼的影響小,同時也安全

        • 缺點:

        • 需要一定的開發運維團隊的支持。


        什么是 MyCAT

        • 一個徹底開源的,面向企業應用開發的大數據庫集群

        • 支持事務、ACID、可以替代 MySQL 的加強版數據庫

        • 一個可以視為 MySQL 集群的企業級數據庫,用來替代昂貴的 Oracle 集群

        • 一個融合內存緩存技術、NoSQL 技術、HDFS 大數據的新型 SQL Server

        • 結合傳統數據庫和新型分布式數據倉庫的新一代企業級數據庫產品

        • 一個新穎的數據庫中間件產品

        一起聊聊Mycat實現 Mysql 集群讀寫分離


        MyCat 服務安裝與配置

        • MyCat 有提供編譯好的安裝包,支持 Windows、Linux、Mac、Solaris 等系統上安裝與運行

        • 官方下載主頁 http://www.mycat.org.cn/

        一起聊聊Mycat實現 Mysql 集群讀寫分離

        一起聊聊Mycat實現 Mysql 集群讀寫分離

        • 實驗架構:
        • 192.168.2.2 Mycat CentOS 8.3.2011
        • 192.168.2.3 主服務器 CentOS 7.6
        • 192.168.2.5 從服務器 CentOS 7.6
        • 運行 Mycat 需要JDK 1.7 或者以上版

        一起聊聊Mycat實現 Mysql 集群讀寫分離

        • 下載 Mycat
        • wget http://dl.mycat.org.cn/1.6.7.6/20210303094759/Mycat-server-1.6.7.6-release-20210303094759-linux.tar.gz
        • tar xf Mycat-server-1.6.7.6-release-20210303094759-linux.tar.gz -C /usr/local/
        • sudo useradd -M -N -s /sbin/nologin mycat && echo "123456" | sudo passwd –stdin mycat
        • sudo chown -R mycat. /usr/local/mycat/

        一起聊聊Mycat實現 Mysql 集群讀寫分離

        一起聊聊Mycat實現 Mysql 集群讀寫分離

        一起聊聊Mycat實現 Mysql 集群讀寫分離

        • bin 程序目錄,Linux 下運行:./mycat console,首先要 chmod +x *
          注:mycat 支持的命令{ console | start | stop | restart | status | dump }
          conf 目錄下存放配置文件:server.xml 是 Mycat 服務器參數調整和用戶授權的配置文件,schema.xml 是邏輯庫定義和表以及分片定義的配置文件,rule.xml 是分片規則的配置文件,分片規則的具體一些參數信息單獨存放為文件,也在這個目錄下,配置文件修改,需要重啟 Mycat 生效。
          lib 目錄下主要存放 mycat 依賴的一些 jar 文件。
          日志存放在 logs/mycat.log 中,每天一個文件,日志的配置是在 conf/log4j.xml 中,根據自己的需要,可以調整輸出級別為 debug,在 debug 級別下,會輸出
        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲av无码乱码国产精品fc2| 99re8这里有精品热视频免费| 99国产精品一区二区| 无码精品人妻一区二区三区影院| 久久99国产精品一区二区| 日韩AV无码精品人妻系列| 欧美成人精品一区二三区在线观看| 久久精品国产精品国产精品污| 久久精品国产亚洲77777| 中文字幕精品无码久久久久久3D日动漫| 国产精品黄页免费高清在线观看| 99精品国产高清一区二区麻豆| 小辣椒福利视频精品导航| 四虎精品亚洲一区二区三区| 国产精品一区三区| 国产精品极品美女自在线观看免费| 国产精品久久久久…| 孩交VIDEOS精品乱子| 四虎国产精品永久免费网址| 亚洲国产av无码精品| 久久久精品国产Sm最大网站| 国产精品自产拍高潮在线观看| 国产精品gz久久久| 国产三级精品三级| 国产精品国产三级国产a| 51久久夜色精品国产| 自怕偷自怕亚洲精品| 欧美亚洲国产精品久久蜜芽| 国产一区二区三区久久精品| 2021国产成人精品国产| 2018国产精华国产精品| 精品国产三级a在线观看| 国产精品嫩草影院AV| 国产精品亚韩精品无码a在线| 久久99国产综合精品女同| 精品无码人妻一区二区免费蜜桃| 人妻少妇乱子伦精品| 国产精品亚洲成在人线| 国产一精品一av一免费爽爽| 亚洲国产精品自在在线观看| 国产精品亚洲欧美大片在线看|