日韩欧美人妻无码精品白浆,www.大香蕉久久网,狠狠的日狠狠的操,日本好好热在线观看

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

高并發(fā)場景下,如何實現(xiàn)數(shù)據(jù)庫主從同步?

admin
2025年6月28日 22:5 本文熱度 136

在高并發(fā)場景下,數(shù)據(jù)主從同步是必然的方式,除了數(shù)據(jù)庫主從同步外,還會涉及到分布式環(huán)境下的數(shù)據(jù)同步。

今天分享數(shù)據(jù)庫主從同步解決方案。


數(shù)據(jù)主從同步的由來



互聯(lián)網(wǎng)的很多業(yè)務,特別是在高并發(fā)的場景下,基本都是讀遠遠大于寫,如果數(shù)據(jù)庫讀和寫的壓力都同在一臺主機上,這顯然不太合理。


于是,把一臺數(shù)據(jù)庫主機分為單獨的一臺寫主庫(主要負責寫操作),而把讀的數(shù)據(jù)庫壓力分配給讀的從庫,而且讀從庫可以變?yōu)槎嗯_,這就是讀寫分離的典型場景如下:



為了進一步的降低數(shù)據(jù)庫端的壓力(高并發(fā)的瓶頸),這個時候也會在業(yè)務層部署分布式緩存集群(redis、memcached)等,把讀的壓力轉移給應用服務器端,其實與數(shù)據(jù)主從的設計是遵循同一個原則,降低后端數(shù)據(jù)庫的壓力。


問題:


讀寫分離提高了資源的利用效率的同時也引出了一個問題,就是由于延時(網(wǎng)絡傳輸,操作)而引起的數(shù)據(jù)庫主從不一致的問題,以下會詳細談相關的數(shù)據(jù)一致性解決方案。



數(shù)據(jù)同步一致性解決方案



1.半同步復制


辦法就是等主從同步完成之后,等主庫上的寫請求再返回,這就是常說的“半同步復制"。


實現(xiàn)方案


mysql的半同步復制方案,下面我以mysql為例介紹。



MySQL半同步復制


MySQL的Replication默認是一個異步復制的過程,從MySQL5.5開始,MySQL以插件的形式支持半同步復制,我先談下異步復制,這樣可以更好的理解半同步復制。


1)異步復制


MySQL默認的復制是異步的,主庫在執(zhí)行完客戶端提交的事務后會立即將結果返給給客戶端,并不關心從庫是否已經(jīng)接收并處理,這樣就會有一個問題,主如果crash掉了,此時主上已經(jīng)提交的事務可能并沒有傳到從庫上。


2)半同步復制


介于異步復制和全同步復制之間,主庫在執(zhí)行完客戶端提交的事務后不是立刻返回給客戶端,而是等待至少一個從庫接收到并寫到relay log中才返回給客戶端。相對于異步復制,半同步復制提高了數(shù)據(jù)的安全性,同時它也造成了一定程度的延遲,這個延遲最少是一個TCP/IP往返的時間。所以,半同步復制最好在低延時的網(wǎng)絡中使用。



半同步復制原理:


  • 事務在主庫寫完binlog后需要從庫返回一個已接受,才放回給客戶端

  • mysql5.5版本以后,以插件的形式存在,需要單獨安裝

  • 確保事務提交后binlog至少傳輸?shù)揭粋€從庫

  • 不保證從庫應用完成這個事務的binlog

  • 性能有一定的降低

  • 網(wǎng)絡異?;驈膸戾礄C,卡主庫,直到超時或從庫恢復


該方案優(yōu)點:

利用數(shù)據(jù)庫原生功能,比較簡單


該方案缺點:

主庫的寫請求時延會增長,吞吐量會降低



2.數(shù)據(jù)庫中間件



流程:


1)所有的讀寫都走數(shù)據(jù)庫中間件,通常情況下,寫請求路由到主庫,讀請求路由到從庫


2)記錄所有路由到寫庫的key,在主從同步時間窗口內(假設是500ms),如果有讀請求訪問中間件,此時有可能從庫還是舊數(shù)據(jù),就把這個key上的讀請求路由到主庫。


3)在主從同步時間過完后,對應key的讀請求繼續(xù)路由到從庫。


相關的中間件有:

1)canal:是阿里巴巴旗下的一款開源項目,純Java開發(fā),基于數(shù)據(jù)庫增量日志解析,提供增量數(shù)據(jù)訂閱&消費,目前主要支持了MySQL。


2)otter:也是阿里開源的一個分布式數(shù)據(jù)庫同步系統(tǒng),尤其是在跨機房數(shù)據(jù)庫同步方面,有很強大的功能。它是基于數(shù)據(jù)庫增量日志解析,實時將數(shù)據(jù)同步到本機房或跨機房的mysql/oracle數(shù)據(jù)庫。


兩者的區(qū)別在于:

otter目前嵌入式依賴canal,部署為同一個jvm,目前設計為不產(chǎn)生Relay Log。

otter目前允許自定義同步邏輯,解決各類需求。


該方案優(yōu)點

能保證絕對一致


該方案缺點:

數(shù)據(jù)庫中間件的成本較高


3.緩存記錄寫key法



寫流程:

1)如果key要發(fā)生寫操作,記錄在cache里,并設置“經(jīng)驗主從同步時間”的cache超時時間,例如500ms

2)然后修改主數(shù)據(jù)庫


讀流程:

1)先到緩存里查看,對應key有沒有相關數(shù)據(jù)

2)有相關數(shù)據(jù),說明緩存命中,這個key剛發(fā)生過寫操作,此時需要將請求路由到主庫讀最新的數(shù)據(jù)。

3)如果緩存沒有命中,說明這個key上近期沒有發(fā)生過寫操作,此時將請求路由到從庫,繼續(xù)讀寫分離。


該方案優(yōu)點:

相對數(shù)據(jù)庫中間件,成本較低


該方案缺點:

為了保證“一致性”,引入了一個cache組件,并且讀寫數(shù)據(jù)庫時都多了緩存操作。


以上就是數(shù)據(jù)庫主從同步一致性方案詳解,如果有興趣了解更加深入的分布式大數(shù)據(jù)分布式文件系統(tǒng)和分布式數(shù)據(jù)庫的一致性,可以到我的博客mikechen查看:分布式數(shù)據(jù)庫數(shù)據(jù)一致性的原理、與技術實現(xiàn)方案(文章)~


閱讀原文:原文鏈接


該文章在 2025/7/1 23:53:14 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

在线久久久观看中文字幕日韩欧美| 欧美色精品影院| 色欲精品成人| 自拍偷拍 日韩专区| 激情五月无码中文字幕| 在线观看日韩有码在线观看| 激情无码人妻又粗又大欧美视频| 中文字幕另类日韩欧美亚洲嫩草| 久久群人大香蕉| 久久综合色视| 后入人妻第四色| 国产 成人 黄 色| 麻豆一区二区三区三州麻豆| 欧美十日本十国产激情四射视频 | 鸥美日韩性爱视频| 亚洲欧美性爱一区二区| 大香蕉DVD成人| 欧美日韩精品一区二区在线播放| 三级视频短片豆| 黄色人妻在线免费看| 操白白最新看| 精品机械一区| 久久色国产| 压州欧洲日本在线观看| 久久精品无码中文| 欧美专区一| 中,日韩性生活| 国产精品欧美一区二区三区m| 大鸡吧插逼视频播放| 日本一区二在线免费视频| 欧美无限资源一级黄片| 久久久久久久少妇自慰| 国精品无码人妻一区二区三区免费| 欧美一区视频麻豆| 神马久久久二区| 欧美一区二区三区五月天婷婷五月天 | 欧美成人A级毛片| 天天做天天爱天天爽综合网| 日本无码久久一区二区| 国产欧美一区两区| 69精品一区二区三区在线|