1:這樣的文章,百度已經爛大街了,,但是這個,有不一樣的地方,他傾向是一個軟體,提供sdk包進行訪問,
2:軟體圖-描述秒殺系統

3:該系統的帶來哪些應用場景
3.1:需要控制資源數的資料,比如秒殺場景,控制不超賣,
4:該系統優勢
4.1:回應速度快,多節點平行提供服務,利用多節點的優勢,
4.2:吞吐量高,一個4核心8G-3臺節點的集群,上百萬的吞吐量可以保證,
4.3:資料可靠性高,節點掛了,不影響系統繼續對外提供服務,資料不丟
失,
4.4:整個系統全程無鎖,其實多執行緒競爭資源的情況下,目前技術是不可能無鎖,所以系統設計,做了針對執行緒來做主題磁區,同一個磁區的主題,只會被一個執行緒訪問,(也許在這兒大家會有點懵逼,說,既然單執行緒,那有生優勢呢,,注意這兒只是一個磁區的主題而已,我們可以有多個磁區,那么對應的就是多個執行緒,這樣就利用起來了,多核系統帶來的優勢,)
4.5:系統中調節生產者與消費者用的是disruptor,因為該框架的特性,最好,生產數量+消費者數量=系統核心數的2倍,因為他有些等待策略會直接讓一個執行緒系結cpu.
5:以前做秒殺系統,對資源都會進行加鎖,這樣會導致執行緒阻塞,或者在資料庫做樂觀鎖,或者基于redis來做(redis以前是單執行緒模型,所有資料都是單執行緒操作,這樣會損失現在多核系統帶來的優勢)—以上來說,加鎖導致多個執行緒阻塞,樂觀鎖,會導致多次db訪問,基于redis會損失多核cpu的優勢,都有一定缺陷(現在大多高并發的專案都會做微服務,這樣一來,,分布式鎖,對資源控制,會導致多個實體執行緒阻塞,)博主提供的sdk是基于vertx實作的異步,可以允許無阻塞,從而提高cpu的利用率,秒殺系統中整個流程也是無阻塞的,
6:該系統,博主還沒有做到完善,,,,期待第一個版本的到來,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/263866.html
標籤:其他
上一篇:Redis 大型攻略之主從復制、哨兵模式、群集模式(理論詳解+搭建步驟)
下一篇:2_25刷題小結
