Python Django 集成Redis Sentinel(哨兵)集羣開發秒殺系統

咱們知道秒殺系統最大特色是瞬時高併發、高訪問量的系統。咱們還要保證它的高可用性。
這裏咱們採用Python Django 集成Redis Sentinel(哨兵)集羣開發秒殺系統。html

Redis Sentinel(哨兵)集羣
Redis哨兵爲Redis集羣提供了高可用性。實際上這意味着咱們可使用哨兵模式建立一個能夠不用人爲干預而應對各類故障的Redis集羣部署。可大大提升系統的高可用性。web

哨兵模式還提供了其餘的附加功能,如監控,通知,爲客戶端提供配置。緩存

下面是在宏觀層面上哨兵模式的功能列表:架構

  • 監控:哨兵不斷的檢查master和slave是否正常的運行。
  • 通知:當監控的某臺Redis實例發生問題時,能夠經過API通知系統管理員和其餘的應用程序。
  • 自動故障轉移:若是一個master不正常運行了,哨兵能夠啓動一個故障轉移進程,將一個slave升級成爲master,其餘的slave被從新配置使用新的master,而且應用程序使用Redis服務端通知的新地址。
  • 配置提供者:哨兵做爲Redis客戶端發現的權威來源,客戶端鏈接到哨兵請求當前可靠的master的地址。若是發生故障,哨兵將報告新地址。

Redis哨兵是一個分佈式系統,採用多個哨兵對一個master再也不可用達成一致時執行故障檢測。這會下降錯誤判斷的機率。即便在不是全部的哨兵都工做時哨兵也會工做,使系統健壯的抵抗故障。併發

咱們課程採用三Redis哨兵集成Redis實例(master和slave)集羣來構建秒殺系統的緩存系統。負載均衡

秒殺系統部署圖:分佈式

Python Django 集成Redis Sentinel(哨兵)集羣開發秒殺系統

秒殺系統涉及主要技術有:ide

  • Pytho Django 開發;
  • Django web 頁面靜態化;
  • Python Redis Sentinel(哨兵)集羣開發;
  • Redis 管道、事務實現對秒殺庫庫的管理;
  • Redis隊列對訪問流量進行分流;
  • Redis Sentinel(哨兵)集羣;
  • Nginx 負載均衡、反向代理等;
  • 高併發的Gunicorn web應用服務;
  • Supervisor管理進程;
  • Django應用部署;
  • 分佈式集羣部署;
  • ...... 高併發

    對相關技術有興趣的,可訪問咱們的課程51CTO學院:升職加薪視頻課程:高併發秒殺系統架構分析設計與開發 設計

相關文章
相關標籤/搜索