Python Django 整合Redis Sentinel(哨兵)叢集開發秒殺系統

來源:互聯網
上載者:User

標籤:django   nginx   redis叢集   sentinel叢集   gunicorn django   

我們知道秒殺系統最大特點是瞬時高並發、高訪問量的系統。我們還要保證它的高可用性。
這裡我們採用Python Django 整合Redis Sentinel(哨兵)叢集開發秒殺系統。

Redis Sentinel(哨兵)叢集
Redis哨兵為Redis叢集提供了高可用性。實際上這意味著我們可以使用哨兵模式建立一個可以不用人為幹預而應對各種故障的Redis叢集部署。可大大提高系統的高可用性。

哨兵模式還提供了其他的附加功能,如監控,通知,為用戶端提供配置。

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

  • 監控:哨兵不斷的檢查master和slave是否正常的運行。
  • 通知:當監控的某台Redis執行個體發生問題時,可以通過API通知系統管理員和其他的應用程式。
  • 自動容錯移轉:如果一個master不正常運行了,哨兵可以啟動一個容錯移轉進程,將一個slave升級成為master,其他的slave被重新設定使用新的master,並且應用程式使用Redis服務端通知的新地址。
  • 配置提供者:哨兵作為Redis用戶端發現的權威來源,用戶端串連到哨兵請求當前可靠的master的地址。如果發生故障,哨兵將報告新地址。

Redis哨兵是一個分布式系統,採用多個哨兵對一個master不再可用達成一致時執行故障檢測。這會降低錯誤判斷的機率。即使在不是所有的哨兵都工作時哨兵也會工作,使系統健壯的抵抗故障。

我們課程採用三Redis哨兵整合Redis執行個體(master和slave)叢集來構建秒殺系統的緩衝系統。

秒殺系統部署圖:

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

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

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

Python Django 整合Redis Sentinel(哨兵)叢集開發秒殺系統

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.