1. 程式人生 > >《深入分散式快取:從原理到實踐》學習筆記(最終篇)

《深入分散式快取:從原理到實踐》學習筆記(最終篇)

第十四章 典型電商應用與快取

  • 及時響應性的使用者需求

  • 資料準確行需求

  • 平臺海量請求的訴求

  • 高可用訴求

14.1 電商類一個你用的挑戰及特點

  • 穩定性決定服務能力

  • 高併發場景(Scale Out 加機器、Scale Up 提升單機效能)

  • 業務發展性能也得發展

  • 產品快速試錯

14.2 應用資料靜態化架構高效能單頁Web應用

image.png

  • CMS系統:

    • 使用URL作為key,沒有url使用id或者生成一個url作為key

    • 多版本使用redis的hash結構儲存,欄位按照維度儲存:

      • 正式:www.baidu.com/{時間戳}

      • 預釋出:www.baiducom/predeploy=true

      • 灰度:www.baidu.com/abVersion=true

      image.png

14.3 應用多級快取模式支撐海量讀服務

  • Nignx伺服器一般採用輪詢演算法一致性hash演算法

    image.png

  • 不過期的快取機制

    image.png

    • 適用於使用者、分類、商品、價格、訂單等,當快取滿了可以考慮LRU機制;同時,快取定期同步Mysql的binlog實現快取同步

  • 維度增量快取

    image.png

  • 大vaule快取:使用多執行緒快取(Memcached);對value進行壓縮;Value拆分

  • 熱點快取:多快取節點作快取負載均衡;幾秒的本地快取。

  • 快取負載均衡:應用Nginx在負載降低時使用一致性雜湊訪問伺服器;負載較高時,使用伺服器輪詢;秒殺類商品等某些熱點資料可以直接推入接入層Nginx。

    image.png

  • 熱點資料與更新快取

    • 單擊全量快取+主從

      image.png

    • 分散式快取+應用本地熱點

      image.png

    • 實時熱點發現系統

      image.png

  • 因為本地快取的存在,要考慮資料一致性問題,即何時失效或更新快取

    • 訂閱資料變更訊息

    • 無法訂閱資料或訂閱成本較高,且對一致性要求不嚴格,則可以設定合理過期時間

    • 秒殺類的活動,可以訂閱活動開啟訊息,將相關資料提前推送到前端應用,並將負載均衡機制降級為輪詢。

    • 建立實時熱點系統來對熱點進行統一推送和更新

  • 更新快取的原子性:版本號機制;使用如canal訂閱binlog;多個佇列單執行緒更新;分散式鎖

14.4 構建需求響應億級商品詳情頁

  • 單品頁技術架構發展

    image.png

    • image.png

    • image.png

    • image.png

16 新的旅程

  • image.png

  • image.png

相關推薦

深入分散式快取原理實踐學習筆記最終

第十四章 典型電商應用與快取 及時響應性的使用者需求 資料準確行需求 平臺海量請求的訴求 高可用訴求 14.1 電商類一個你用的挑戰及特點 穩定性決定服務能力 高併發場景(Scale Out 加機器、Scale Up 提

深入分散式快取原理實踐學習筆記1

第一章:快取為王 快取為王,不同的語境中所代表的快取意義不同。 快取的一個主要目的在於提高使用者體驗,是一種非功能性約束。 大型網站架構 頁面快取,不用多次渲染 頁面自身對元素進行快取; 服務端黃金靜態頁面或動態頁

深入分散式快取原理實踐

入行20多年來,有了一次不同尋常的嘗試,雖然只是合力出了一本書。時間回溯到2016年, 最初出於挖人的險惡用心,進入了一個名叫“中生代技術”的技術群。本以為和自己加入的諸多技術群類似,沒想到在這裡發現了一群有趣的人,一群熱愛技術的人,一群為了一些技術細節爭論得面紅耳赤的人。因為公眾號wireless_com的

Angular學習筆記工具----Angular CLI

進入 詳情 基礎 rate 9.png cnpm 基本用法 版本問題 問題 Angular CLI 的作用 首先安裝npm 和node 詳情:http://www.cnblogs.com/gorgeous/p/8074180.html 在安裝 npm in

HTML教程學習筆記第一

學習資料:www.w3cschool.cc   學習日期:2014-11-03 1.DOCTYPE宣告文件型別: HTML5:<!DOCTYPE html> HTML4.01:<!DOCTYPE HTML PUBLIC "-//W3C//DTD H

Opengl es2.0 學習筆記API所有API的翻譯

包含了 gl2.h 和egl.h兩個標頭檔案 gl2.h gl2資料結構 /*------------------------------------------------------------------------- * Data type defi

深度學習筆記基礎——線性單元和梯度下降

        在上一篇文章中,我們已經學會了編寫一個簡單的感知器,並用它來實現一個線性分類器。你應該還記得用來訓練感知器的『感知器規則』。然而,我們並沒有關心這個規則是怎麼得到的。本文通過介紹另外一種『感知器』,也就是『線性單元

深度學習筆記基礎——機器學習與深度學習簡介

  機器學習是最基礎的(當下初創公司和研究實驗室的熱點領域之一)。深度學習是非常嶄新和有影響力的前沿領域。 一、定義 1、機器學習    從樣本中學習的智慧程式。是資料驅動的。90年代初提出。強調的是給計算機程式(或者機器)輸入一些資料後,它學習這些資料,而

南郵攻防平臺學習筆記web

1、MD5 collision <?php $md51 = md5('QNKCDZO'); $a = @$_GET['a']; $md52 = @md5($a); if(isset($a)){ if ($a != 'QNKCDZO' &&am

C++學習筆記初級——作用域與“extern”關鍵字

作用域,顧名思義,就是指某個識別符號在程式中的有效區域。 在C++中,按作用域的大小,一般可分為區域性作用域和全域性作用域。 1.區域性作用域 區域性作用域用大括號,即{},來定義,大括號括起來的範圍就是一個區域性作用域。區域性作用域內,一個變數或者函式的有效位置是從其宣告

C++學習筆記第一

第1章 C++基本知識 1.1 宣告類和物件 三種方式 /********************************************** 第一種方式:宣告類的同時定義物件 **************************

Git 學習筆記基礎

1. 命令初識 檢視GIT版本 git --version 在Global級別設定UserName(推薦使用) git config --global user.name ’Freud Kang‘ 在當前目錄界別設定UserName(優先順序高)git config us

XSS學習筆記入門

最近的學習速度挺快的,對於寒假的計劃是對於各種知識點都瞭解大概並且基本懂得原理,在開學之後對相關書籍深入研究! 這裡我就先總結下幾個XSS應用的例子吧。 一.利用< >標記注射html / javascript 如果可以隨心所欲引入< >標記,那麼

uip-學習筆記移植

UIP 1、 uip_input(); 當網絡卡驅動收到一個包時,將包存放於全域性緩衝區uip_buf中,包的大小由全域性變數uip_len約束;同時將呼叫uip_input();該函式會根據包首部的協議處理這個包將該包傳送給需要該包的應用程式;當該函

零開始學Swift》學習筆記Day 57——Swift編碼規範之凝視規範文件凝視、文檔凝視、代碼凝視、使用地標凝視

精品 -type mil 顯示 clas ber ansi tex text 原創文章。歡迎轉載。轉載請註明:關東升的博客 前面說到Swift凝視的語法有兩種:單行凝視(//)和多行凝視(/*...*/)。這裏來介紹一下他們的使用規範。 1、文件凝視文件凝視就在每個文

安卓學習筆記 -- 安裝環境 Android Studio安裝配置、環境搭建詳細步驟及基本使用 Android Studio和SDK官方開發工具下載 Android Studio教程入門到精通 Android開發-之第一個程式HelloWorld!

1、下載Android Studio安裝配置、環境搭建詳細步驟及基本使用    https://www.cnblogs.com/yanglh6-jyx/p/Android_AS_Configuration.html https://blog.csdn.net/k491022087/ar

SVM全系列原理到python實現SVM原理

前言 本文開始主要介紹一下SVM的分類原理以及SVM的數學匯出和SVM在Python上的實現。借鑑了許多文章,會在後面一一指出,如果有什麼不對的希望能指正。 一、 SVM簡介 首先看到SVM是在斯坦福的機器學習課程上,SVM是作為分類器在logisticregr

Ros平臺下零開始學習SLAM

ROS平臺下:從零開始學習SLAM(序) 前言   16年年底,我們實驗室迎來了一隻可愛的小傢伙,它有綠綠的面板,甚是俏皮可愛;它還有一個帥氣的名字:Irobotcreat2。   伴隨著導師一聲令下,一段神奇的Slam之旅至此拉開了序幕。   年後

OpenCV2學習筆記十五利用Cmake高速查找OpenCV函數源代碼

one 生成 img log 分享 lan 學習筆記 全部 modules 在使用OpenCV時,在對一個函數的調用不是非常了解的情況下,通常希望查到該函數的官方聲明。而假設想進一步研究OpenCV的函數,則必須深入到源碼。在VS中我們能夠選中想要查

Pro Android學習筆記一三七Home Screen Widgets3配置Activity

map onclick widgets info xtra ces extends height appwidget 文章轉載僅僅能用於非商業性質,且不能帶有虛擬貨幣、積分、註冊等附加條件。轉載須註明出處http://blog.csdn.net/flowingfly