(二)讀寫分離架構、冷熱分離架構

文章目錄

  • 讀寫分離架構
    • 什么是讀寫分離結構
    • 架構模型
    • 優缺點
      • 優點
      • 缺點
    • 技術案例
      • 寫情況
      • 讀情況
  • 冷熱分離架構
    • 什么是冷熱分離架構?
    • 架構模型
    • 優缺點
      • 優點
    • 缺點
    • 技術案例
      • 讀數據
      • 寫數據

讀寫分離架構

什么是讀寫分離結構

讀寫分離架構針對于數據庫。數據庫原本負責讀寫兩個功能。 讀寫分離架構就是添加多臺數據庫服務器, 其中主數據庫一般負責寫, 從數據庫一般負責讀。

讀寫分離架構也叫做主從分離架構, 一臺數據庫服務器作為主服務器, 然后為這臺主服務器添加冗余(從服務器)。 這樣做的好處有很多, 下面優缺點提到。

架構模型

在這里插入圖片描述

在這里插入圖片描述

優缺點

優點

  • 可以應對更高的并發量, 讀寫分離,從數據庫分擔了主數據庫的讀請求。
  • 高可用性, 增加了系統的冗余, 當主數據庫崩潰時, 從數據快速頂替主數據庫,不影響用戶體驗。
  • 從數據庫可以進行橫向擴展,使數據庫對于讀具有擴展性。讀請求理論上不再稱為瓶頸。
  • 主數據和從數據庫通過網絡實現數據同步一致。

缺點

  • 硬件資源的成本增加, 運維成本增加
  • 單點寫瓶頸, 寫并發極高時主數據稱為瓶頸
  • 數據不一致性, 數據網絡同步需要時間, 用戶寫入后想要立即讀取,可能讀取不到最新更新信息。
  • 主數據庫同步時崩潰會導致數據丟失。

技術案例

寫情況

  • 用戶使用域名訪問服務器,先訪問dns, dns返回一個IP地址。
  • 用IP地址進行路由訪問應用服務器。訪問哪一個? 先到達最外層的負載均衡服務器, 由最外層的負載均衡服務器將這個請求分發下層自己管理的某個服務器。
  • 這個服務器接收到請求, 如果這個服務器還是一個負載均衡服務器, 就重復剛剛類似的操作。
  • 如果這個服務器是一個應用服務器, 那么應用服務器對請求進行解析。
  • 如果是寫請求, 就去主數據庫中寫入數據,將數據通過網絡發送給主數據庫服務器。 然后就返回寫入情況, 是寫入成功還是失敗。對于應用服務集群來說, 應用服務器集群一層一層向上返回請求處理情況; 對于主從數據庫集群來說, 主數據庫要將剛剛寫入的數據同步給從數據庫。

在這里插入圖片描述

讀情況

  • 用戶拿著 域名 訪問應用服務器, 然后域名交給dns進行解析, 返回IP地址。
  • 瀏覽器用IP地址路由到對應的服務集群中。 具體訪問哪一個應用服務節點, 由上層的負載均衡服務器一層

一層向下分發決定。

  • 應用服務節點拿到請求后, 對請求進行解析。 解析成功認為是讀請求, 那么就直接去主從數據庫集群里面的從數據庫節點讀取數據。 然后返回讀取結果。

在這里插入圖片描述

冷熱分離架構

什么是冷熱分離架構?

冷熱分離是將數據分為冷數據和熱數據。 熱數據存放在內存緩存中。 冷數據放在磁盤中。 一個數據庫服務器或者集群作為緩存數據庫服務器, 存儲熱數據。 然后另一個數據庫集群用來存儲冷數據。

架構模型

在這里插入圖片描述

優缺點

優點

  • 分擔了讀取的壓力, 減少了從庫的數量, 優化成本。
  • 利用內存存儲數據, 內存的讀取速度遠高于磁盤IO。 提高了數據查詢的效率, 優化效率。

缺點

  • 增加系統的復雜性, 增加運維成本。
  • 數據同步過程中如果數據庫崩潰, 造成數據丟失和數據不一致問題。
  • 寫的高并發仍然可能是系統的瓶頸。

技術案例

讀數據

  • 發送請求, dns返回IP地址, 然后路由到應用服務集群, 應用服務集群再一系列分發處理將請求送到應用服務器。
  • 當解析后, 如果是讀數據, 那么就看一下緩存服務器中是否有這個數據, 如果有直接返回。
  • 如果沒有找到對應的數據, 就要去主從數據庫集群中去讀取數據。

在這里插入圖片描述

寫數據

  • 寫入數據時是否寫入到緩存數據中還是寫入到主數據庫中根據業務場景決定, 一般情況下直接寫入到主數據庫。
  • 寫入到主數據庫后, 主數據庫有兩種策略: 一種是直接同步到緩存數據庫, 一種是給緩存數據庫發送一個數據失效標記。 第一種的優點是高一致性, 但是高延遲。 第二種的優點是低延遲, 但是最終一致性(允許數據短暫不一致)

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/902926.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/902926.shtml
英文地址,請注明出處:http://en.pswp.cn/news/902926.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

windows中kafka4.0集群搭建

參考文獻 Apache Kafka windows啟動kafka4.0(不再需要zookeeper)_kafka壓縮包-CSDN博客 Kafka 4.0 KRaft集群部署_kafka4.0集群部署-CSDN博客 正文 注意jdk需要17版本以上的 修改D:\software\kafka_2.13-4.0.0\node1\config\server.properties配置文…

無線通信網

注意區分CA(無線)和CD(有線) 無線局域網擴頻技術 FHSS/DSSS 無線頻譜和信道:2.4G/5GHz,2.4GHz共13個信道,3個不重疊信道 CSMA/CA,隱藏節點 MANET 無線安全:WEP、WPA、WPA2、AES/TP…

嵌入式開發:基礎知識介紹

一、嵌入式系統 1、介紹 以提高對象體系智能性、控制力和人機交互能力為目的,通過相互作用和內在指標評價的,嵌入到對象體系中的專用計算機系統。 2、分類 按其形態的差異,一般可將嵌入式系統分為:芯片級(MCU、SoC&am…

uv包管理器如何安裝依賴?

uv包管理器如何安裝依賴? 輸入 uv pip install 包名 uv pip install python-docx

大模型驅動智能服務變革:從全流程賦能到行業縱深落地

大模型技術的快速發展,正深刻改變著人工智能的研發與應用模式。作為"軟硬協同、開箱即用"的智能化基礎設施,大模型一體機通過整合計算硬件、部署平臺和預置模型,重構了傳統AI部署方式,成為推動AI普惠化和行業落地的重要…

【MQ篇】RabbitMQ之簡單模式!

目錄 引言一、 初識 RabbitMQ 與工作模式二、 簡單模式 (Simple Queue) 詳解:最直接的“點對點快遞” 📮三、 Java (Spring Boot) 代碼實戰:讓小兔子跑起來! 🐰🏃?♂?四、 深入理解:簡單模式的…

Lua 第7部分 輸入輸出

由于 Lua 語言強調可移植性和嵌入性 , 所以 Lua 語言本身并沒有提供太多與外部交互的機制 。 在真實的 Lua 程序中,從圖形、數據庫到網絡的訪問等大多數 I/O 操作,要么由宿主程序實現,要么通過不包括在發行版中的外部庫實現。 單就…

【開源】STM32HAL庫移植Arduino OneWire庫驅動DS18B20和MAX31850

項目開源鏈接 github主頁https://github.com/snqx-lqh本項目github地址https://github.com/snqx-lqh/STM32F103C8T6HalDemo作者 VXQinghua-Li7 📖 歡迎交流 如果開源的代碼對你有幫助,希望可以幫我點個贊👍和收藏 項目說明 最近在做一個項目…

【合新通信】浸沒式液冷光模塊與冷媒兼容性測試技術報告

一、測試背景與核心挑戰 行業需求驅動 隨著800G/1.6T光模塊功耗突破30W/端口,傳統風冷已無法滿足散熱需求,浸沒式液冷成為超算/AI數據中心的主流方案。冷媒兼容性是系統可靠性的關鍵指標,涉及材料腐蝕、光學性能、長期穩定性等維度。 核心…

Pandas中的日期時間date處理

Pandas提供了強大的日期和時間處理功能,這對于時間序列分析至關重要。本教程將介紹Pandas中處理日期時間的主要方法。包括: 日期時間數據的創建和轉換日期時間屬性的提取時間差計算和日期運算重采樣和頻率轉換時區處理基于日期時間的索引操作 Pandas中…

Vue3文件上傳組件實戰:打造高效的Element Plus上傳解決方案,可以對文件進行刪除,查看,下載功能。

在現代Web開發中,文件上傳功能是許多應用的核心需求之一。無論是企業管理系統、內容管理系統還是醫療信息系統,上傳附件的功能都至關重要。本文將分享一個基于 Vue3 和 Element Plus 實現的文件上傳組件,結合父子組件的協作,展示如何構建一個功能強大、用戶體驗友好的文件上…

AI 工程師崛起:科技浪潮下的新興力量

在當今科技迅猛發展的時代,人工智能(AI)無疑是最熱門的領域之一。隨著基礎模型的涌現和開源 / API 的普及,一種新興的職業 ——AI 工程師,正逐漸嶄露頭角。他們在 AI 技術的應用和開發中扮演著關鍵角色,其崛…

人工智能與機器學習:Python從零實現邏輯回歸模型

🧠 向所有學習者致敬! “學習不是裝滿一桶水,而是點燃一把火。” —— 葉芝 我的博客主頁: https://lizheng.blog.csdn.net 🌐 歡迎點擊加入AI人工智能社區! 🚀 讓我們一起努力,共創…

濟南國網數字化培訓班學習筆記-第二組-5節-輸電線路設計

輸電線路設計 工程設計階段劃分 35kv及以上輸變電工程勘測設計全過程 可行性研究(包括規劃、工程選站)(包括電力系統一次二次,站址選擇及工程設想,線路工程選擇及工程設想,節能降耗分析,環境…

【Linux網絡】TCP服務中IOService應用與實現

📢博客主頁:https://blog.csdn.net/2301_779549673 📢博客倉庫:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢歡迎點贊 👍 收藏 ?留言 📝 如有錯誤敬請指正! &…

Linux 怎么找Java程序的監聽的端口

Linux 怎么找Java程序的監聽的端口 1、假設你知道啟動該Java應用的進程ID (PID),可以通過以下命令查找其監聽的端口: 首先找到該Java應用的PID: ps -ef | grep xxxx-1.0-RELEASE.jar或者,如果你知道啟動命令的一部分&#xff0…

解讀《數據資產質量評估實施規則》:企業數據資產認證落地的關鍵指南

隨著“數據要素市場”建設加速,數據資產逐步成為企業核心資產之一。2024年4月,由中國質量認證中心(CQC)發布的《數據資產質量評估實施規則》(編號:CQC96-831160-2024)正式實施,為企業…

[吾愛出品] 【鍵鼠自動化工具】支持識別窗口、識圖、發送文本、按鍵組合等

鍵鼠自動化工具 鏈接:https://pan.xunlei.com/s/VOOhDZkj-E0mdDZCvo3jp6s4A1?pwdfufb# 1、增加的找圖點擊功能(不算增加,只能算縫補),各種的不完善,但是能運行。 2、因為受限于原程序的界面,…

【計算機視覺】CV實戰項目 - 基于YOLOv5的人臉檢測與關鍵點定位系統深度解析

基于YOLOv5的人臉檢測與關鍵點定位系統深度解析 1. 技術背景與項目意義傳統方案的局限性YOLOv5多任務方案的優勢 2. 核心算法原理網絡架構改進關鍵點回歸分支損失函數設計 3. 實戰指南:從環境搭建到模型應用環境配置數據準備數據格式要求數據目錄結構 模型訓練配置文…

IntelliJ IDEA 中配置 Spring MVC 環境的詳細步驟

以下是在 IntelliJ IDEA 中配置 Spring MVC 環境的詳細步驟: 步驟 1:創建 Maven Web 項目 新建項目 File -> New -> Project → 選擇 Maven → 勾選 Create from archetype → 選擇 maven-archetype-webapp。輸入 GroupId(如 com.examp…