搜尋
首頁資料庫mysql教程数据库高可用架构(MySQL、Oracle、MongoDB、Redis)

一、MySQL MySQL小型高可用架构 方案:MySQL双主、主从 + Keepalived主从自动切换 服务器资源:两台PC Server 优点:架构简单,节省资源 缺点:无法线性扩展,主从失败之后需要手动恢复主从架构 MySQL中型高可用架构 方案:MMM + MySQL双主 + 多从高可用方案

一、MySQL

MySQL小型高可用架构

方案:MySQL双主、主从 + Keepalived主从自动切换

服务器资源:两台PC Server

优点:架构简单,节省资源

缺点:无法线性扩展,主从失败之后需要手动恢复主从架构

MySQL中型高可用架构

方案:MMM + MySQL双主 + 多从高可用方案

服务器资源:

1、至少五台PC Server,2台MySQL主库,2台MySQL从库,1台MMM Monitor;

2、1台MMM Monitor选择低配;

3、如果不采用F5作为从库的负载均衡器,可用2台PC SERVER部署LVS或HAProxy+Keepalived组合来代替;

优点:双主热备模式,读写分离,SLAVE集群可线性扩展

缺点:读写分离需要在程序端解决,Master大批量写操作时会产生主从延时

MySQL大型高可用架构

主要思路:中间件+MySQL Sharding

如方案:Cobar等中间件+MySQL技术

图片略。

另外,还分享些MySQL一些主流的高可用架构

1、MySQL双主 + Keepalived主备自动切换方案(上面已有)

2、MySQL主从 + Keepalived主从自动切换方案(上面已有)

3、MMM+MySQL双主 + 多从高可用方案(上面已有)

4、MySQL + Pecemaker(Heartbeat) + DRBD高可用

5、MySQL + RHCS 高可用方案

6、MySQL + Cluser 集群架构

7、Percona Xtradb Cluster 集群高可用性解决方案

8、中间件 + MySQL 大型集群解决方案(上面已提到)

MySQL + Pecemaker(Heartbeat) + DRBD高可用 && MySQL + RHCS 高可用方案

Percona Xtradb Cluster 集群高可用性解决方案

MySQL多机房部署架构参考

二、Oracle

1、Oracle ActiveDataGuard

服务器资源:2台PC Server

1、Oracle自己的容灾系统,数据库完全冗余保护,可跨IDC部署;

2、Oracle 11g 以上版本Standby可Redo模式打开,可作为数据仓库使用,也可以作为备份数据库;

3、可切换,一般会采用手动切换方式。

2、Oracle RAC

服务器资源:至少两台PC Server作为RAC节点,SAN存储一台,

其他资源:光纤网络环境

RAC的特性:

1、高可用性:保证只要有一个存活的节点,就不会断业务,保持业务连续性

2、双机双工:RAC是并行模式工作的,节点间关系是Active对Active,每个节点都能为客户端提供服务

3、易伸缩:RAC的增加、删除节点非常方便

4、高吞吐量:节点数量和吞吐量是正比关系

3、Oracle MAA

方案:RAC+ASM+Standby(RAC)部署

服务器资源:RAC所需要资源*2

其他资源:异地机房

备注:MAA实质上就是RAC+DataGuard的结合体。

Oracle还有很多其他高可用架构,比如结合Oracle Golden Gate做复制等等……

三、MongoDB

MongoDB高可用架构

方案:MongoDB复制集+Sharding分片

服务器资源:

1、9台:6台PC Server作为shared节点,3台作为仲裁节点,三个Mongos和Config各部署在三个Shared节点上,如上图;

2、横向扩展分片,一组分片由3台PC Server构成;

3、仲裁节点服务器不存储实际数据,因此低配即可。

备注:

1、考虑到高可扩展问题,放弃MongoDB主从复制方案;

2、对数据安全要求非常高的业务,每组分片可由5台PC Server构成;

3、建议开发人员结合业务选出最合适的片键。

四、Redis

Redis小型高可用架构

方案:Redis主从复制+Keepalived实现Failover

服务器资源:两台PC Server

优点:架构简单,节省资源

缺点:主从切换有间隔,这期间客户端将收到错误

方案:Redis Sentinel实现Failover

服务器资源:

1、两台PC Server部署Redis,一台Redis Sentinel;

2、Redis可选择一主多从架构;

3、一台Redis Sentinel选择低配。

优点:Redis官方自带HA方案,Redis作者所编写,具备

缺点:发生Failover之后,客户端需要手动更正地址

Redis中型高可用架构

方案:Redis主从+Haproxy负载均衡

服务器资源:至少3台PC Server部署Redis主从,两台PC Server部署Haproxy

优点:读写分离,横向扩展Slave

缺点:Master为单点

Redis大型高可用架构

方案:Twemproxy实现Redis存储分片

服务器资源:至少6台PC Server部署Redis主从,至少3台PC Server部署Twemproxy,2台PC Server部署HAProxy

优点:分片,负载均衡,Redis和Twemproxy都可以横向扩展

缺点:Twemproxy所存在的缺点:

1、Twemproxy节点扩展,原来的数据需要重新处理分布,避免出现找不到key值;

2、扩展Redis节点,数据不会自动均匀分布,而需人工处理。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
MySQL中的存儲過程是什麼?MySQL中的存儲過程是什麼?May 01, 2025 am 12:27 AM

存儲過程是MySQL中的預編譯SQL語句集合,用於提高性能和簡化複雜操作。 1.提高性能:首次編譯後,後續調用無需重新編譯。 2.提高安全性:通過權限控制限制數據表訪問。 3.簡化複雜操作:將多條SQL語句組合,簡化應用層邏輯。

查詢緩存如何在MySQL中工作?查詢緩存如何在MySQL中工作?May 01, 2025 am 12:26 AM

MySQL查詢緩存的工作原理是通過存儲SELECT查詢的結果,當相同查詢再次執行時,直接返回緩存結果。 1)查詢緩存提高數據庫讀取性能,通過哈希值查找緩存結果。 2)配置簡單,在MySQL配置文件中設置query_cache_type和query_cache_size。 3)使用SQL_NO_CACHE關鍵字可以禁用特定查詢的緩存。 4)在高頻更新環境中,查詢緩存可能導致性能瓶頸,需通過監控和調整參數優化使用。

與其他關係數據庫相比,使用MySQL的優點是什麼?與其他關係數據庫相比,使用MySQL的優點是什麼?May 01, 2025 am 12:18 AM

MySQL被廣泛應用於各種項目中的原因包括:1.高性能與可擴展性,支持多種存儲引擎;2.易於使用和維護,配置簡單且工具豐富;3.豐富的生態系統,吸引大量社區和第三方工具支持;4.跨平台支持,適用於多種操作系統。

您如何處理MySQL中的數據庫升級?您如何處理MySQL中的數據庫升級?Apr 30, 2025 am 12:28 AM

MySQL數據庫升級的步驟包括:1.備份數據庫,2.停止當前MySQL服務,3.安裝新版本MySQL,4.啟動新版本MySQL服務,5.恢復數據庫。升級過程需注意兼容性問題,並可使用高級工具如PerconaToolkit進行測試和優化。

您可以使用MySQL的不同備份策略是什麼?您可以使用MySQL的不同備份策略是什麼?Apr 30, 2025 am 12:28 AM

MySQL備份策略包括邏輯備份、物理備份、增量備份、基於復制的備份和雲備份。 1.邏輯備份使用mysqldump導出數據庫結構和數據,適合小型數據庫和版本遷移。 2.物理備份通過複製數據文件,速度快且全面,但需數據庫一致性。 3.增量備份利用二進制日誌記錄變化,適用於大型數據庫。 4.基於復制的備份通過從服務器備份,減少對生產系統的影響。 5.雲備份如AmazonRDS提供自動化解決方案,但成本和控制需考慮。選擇策略時應考慮數據庫大小、停機容忍度、恢復時間和恢復點目標。

什麼是mySQL聚類?什麼是mySQL聚類?Apr 30, 2025 am 12:28 AM

MySQLclusteringenhancesdatabaserobustnessandscalabilitybydistributingdataacrossmultiplenodes.ItusestheNDBenginefordatareplicationandfaulttolerance,ensuringhighavailability.Setupinvolvesconfiguringmanagement,data,andSQLnodes,withcarefulmonitoringandpe

如何優化數據庫架構設計以在MySQL中的性能?如何優化數據庫架構設計以在MySQL中的性能?Apr 30, 2025 am 12:27 AM

在MySQL中優化數據庫模式設計可通過以下步驟提升性能:1.索引優化:在常用查詢列上創建索引,平衡查詢和插入更新的開銷。 2.表結構優化:通過規範化或反規範化減少數據冗餘,提高訪問效率。 3.數據類型選擇:使用合適的數據類型,如INT替代VARCHAR,減少存儲空間。 4.分區和分錶:對於大數據量,使用分區和分錶分散數據,提升查詢和維護效率。

您如何優化MySQL性能?您如何優化MySQL性能?Apr 30, 2025 am 12:26 AM

tooptimizemysqlperformance,lofterTheSeSteps:1)inasemproperIndexingTospeedUpqueries,2)使用ExplaintplaintoAnalyzeandoptimizequeryPerformance,3)ActiveServerConfigurationStersLikeTlikeTlikeTlikeIkeLikeIkeIkeLikeIkeLikeIkeLikeIkeLikeNodb_buffer_pool_sizizeandmax_connections,4)

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。