谷粒商城實戰(033 業務-秒殺功能4-高并發問題解決方案sentinel 1)

Java項目《谷粒商城》架構師級Java項目實戰,對標阿里P6-P7,全網最強

總時長 104:45:00 共408P

此文章包含第326p-第p331的內容


關注的問題

在這里插入圖片描述

在這里插入圖片描述

sentinel(哨兵)

sentinel來實現熔斷、降級、限流等操作
在這里插入圖片描述
騰訊開源的tendis,分布式緩存
第一輛車開太慢就會堵車

在這里插入圖片描述
有的解釋,降級是提供錯誤的一個兜底反饋,跟這個解釋好像不太一樣

在這里插入圖片描述

sentinel學習

在這里插入圖片描述

在這里插入圖片描述

五種方法 我們一般使用第四種注解方法 第一種適配方法 第二種拋異常方法
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

步驟

在這里插入圖片描述

  1. 引入sentinel包 在這里插入圖片描述
    在這里插入圖片描述
    控制臺
    在這里插入圖片描述
    查看調用的是哪個版本的sentinel
    在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

這個jar包是個springboot項目 可以java -jar 直接啟動

在這里插入圖片描述
這個項目默認端口是8080 如果被占用的話 可以用 --server.port=你要的端口號
在這里插入圖片描述
在這里插入圖片描述

步驟

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

控制臺操作方式

新增一個流控規則
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
再次刷新 進行限流
在這里插入圖片描述
在這里插入圖片描述

出現空指針異常 加一下判斷即可
在這里插入圖片描述
在這里插入圖片描述

只要加了依賴 就都會被監控
在這里插入圖片描述
在這里插入圖片描述

暴露規則

在這里插入圖片描述

全部暴露
在這里插入圖片描述

添加審計圖

導入endpoint依賴就可以使用統計圖
在這里插入圖片描述

exclude是排除哪些(不暴露)
include(暴露)
在這里插入圖片描述

在這里插入圖片描述

自定義流控返回

在這里插入圖片描述
新增一個配置類
在這里插入圖片描述

sentinel 提供的管理器類
在這里插入圖片描述

如果用spring5的webFlux編程就用下面的 這里我們用上面的
在這里插入圖片描述
定義一個錯誤碼
在這里插入圖片描述

在這里插入圖片描述
亂碼了 我們定義一下編碼就行
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

全服務引入

每個服務都導入actuator 然后配置信息
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

錯誤

循環依賴錯誤
這里是用構造注入的方式解決循環依賴
在這里插入圖片描述

在這里插入圖片描述
解決:
在這里插入圖片描述

注掉@postConstruct (它的作用是 方法會在bean實例化后被立即調用。)
在這里插入圖片描述
在這里插入圖片描述
這里解決失敗,還是報錯,我們自己創建一個rabbitTemplate在這里插入圖片描述
這里的@Primary注解的作用: 用于指示一個類、方法或字段作為首選的候選對象。當應用于類時,@Primary注解表示該類是首選的候選對象,將優先被實例化。當應用于方法時,@Primary注解表示該方法是最優選的候選方法,將優先被調用。當應用于字段時,@Primary注解表示該字段是最優選的候選字段,將優先被訪問。

我們定義的rabbitTemplate比別人的少一些配置 如下
在這里插入圖片描述

還有一直解決方法

把@Bean注釋的轉換器和RabbitTemplate拆成兩個文件,可以解決循環依賴


效果

走完流程后
在這里插入圖片描述
在這里插入圖片描述

流控效果

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

warm up(熱身)

在這里插入圖片描述
在這里插入圖片描述
峰值如果是500 我們使用 warm up(熱身) :10秒內放進來500個請求
在這里插入圖片描述

排隊等待

如果峰值時是500 進來700個請求 我們先將前500進行處理 然后剩下的200 等待我們設置的如3000毫秒 如果3000毫秒得不到處理 就拋出失敗

在這里插入圖片描述在這里插入圖片描述


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

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

相關文章

ctfshow web

【nl】難了 <?php show_source(__FILE__); error_reporting(0); if(strlen($_GET[1])<4){echo shell_exec($_GET[1]); } else{echo "hack!!!"; } ?> //by Firebasky //by Firebasky ?1>nl //先寫個文件 ?1*>b //這樣子會把所有文件名寫在b里…

JSON 無法序列化

JSON 無法序列化通常出現在嘗試將某些類型的數據轉換為 JSON 字符串時&#xff0c;這些數據類型可能包含不可序列化的內容。 JSON 序列化器通常無法處理特定類型的數據&#xff0c;例如日期時間對象、自定義類實例等。在將數據轉換為 JSON 字符串之前&#xff0c;確保所有數據都…

clickhouse學習筆記(三)常見表引擎

目錄 一、 MergeTree系列引擎 1、MergeTree 數據TTL &#xff08;1&#xff09; 列級別 TTL &#xff08;2&#xff09; 表級別 TTL 存儲策略 2、ReplacingMergeTree 3、CollapsingMergeTree 4、VersionedCollapsingMergeTree 5、SummingMergeTree 6、AggregatingMe…

「動態規劃」如何求地下城游戲中,最低初始健康點數是多少?

174. 地下城游戲https://leetcode.cn/problems/dungeon-game/description/ 惡魔們抓住了公主并將她關在了地下城dungeon的右下角。地下城是由m x n個房間組成的二維網格。我們英勇的騎士最初被安置在左上角的房間里&#xff0c;他必須穿過地下城并通過對抗惡魔來拯救公主。騎士…

【Text2SQL 論文】C3:使用 ChatGPT 實現 zero-shot Text2SQL

論文&#xff1a;C3: Zero-shot Text-to-SQL with ChatGPT ???? arXiv:2307.07306&#xff0c;浙大 Code&#xff1a;C3SQL | GitHub 一、論文速讀 使用 ChatGPT 來解決 Text2SQL 任務時&#xff0c;few-shots ICL 的 setting 需要輸入大量的 tokens&#xff0c;這有點昂貴…

基于GLM生成SQL,基于MOSS生成SQL,其中什么是GLM 什么是MOSS

GLM 和 MOSS 是兩種不同的模型或系統&#xff0c;通常用在自然語言處理 (NLP) 和生成任務中&#xff0c;如生成 SQL 查詢。讓我們逐個解釋它們的含義和用途&#xff1a; GLM (Generalized Language Model) GLM 是一種通用語言模型&#xff0c;設計用于處理和生成自然語言。以…

MacOS M系列芯片一鍵配置多個不同版本的JDK

第一步&#xff1a;下載JDK。 官網下載地址&#xff1a;Java Archive | Oracle 選擇自己想要下載的版本&#xff0c;一般來說下載一個jdk8和一個jdk11就夠用了。 M系列芯片選擇這兩個&#xff0c;第一個是壓縮包&#xff0c;第二個是dmg可以安裝的。 第二步&#xff1a;編輯…

eclipse插件開發(二)RCP第三方庫的引入方式

RCP第三方庫的引入 最近在RCP開發過程中遇到JSON串與對象互轉的問題&#xff0c;如何像spring開發模式一樣引入第三方庫呢&#xff1f;eclipse插件開發中用到p2庫&#xff0c;但也支持maven庫的引入。關鍵在于.target這個關鍵文件。 .target 文件用于定義一個目標平臺&#x…

民主測評要做些什么?

民主測評&#xff0c;作為一種重要的民主管理工具&#xff0c;旨在通過廣泛征求群眾意見&#xff0c;對特定對象或事項進行客觀、公正的評價。它不僅是推動民主參與、民主監督的重要手段&#xff0c;也是提升治理效能、促進社會和諧的有效途徑。以下將詳細介紹民主測評的主要過…

常見的布局方法及優缺點

頁面布局常用的方法有浮動、定位、flex、grid網格布局、柵格系統布局 浮動&#xff1a; 優點&#xff1a;兼容性好。 缺點&#xff1a;浮動會脫離標準文檔流&#xff0c;因此要清除浮動。我們解決好這個問題即可。 絕對定位 優點&#xff1a;快捷。 缺點&#xff1a;導致子…

如何以非交互方式將參數傳遞給交互式腳本

文章目錄 問題回答1. 使用 Here Document2. 使用 echo 管道傳遞3. 使用文件描述符4. 使用 expect 工具 參考 問題 我有一個 Bash 腳本&#xff0c;它使用 read 命令以交互方式讀取命令參數&#xff0c;例如 yes/no 選項。是否有一種方法可以在非交互式腳本中調用這個腳本&…

vue用vite配置代理解決跨域問題(target、rewrite和changeOrigin的使用場景)

Vite的target、rewrite和changeOrigin的使用場景 1. target 使用場景&#xff1a;target 屬性在 Vite 的 vite.config.ts 或 vite.config.js 文件的 server.proxy 配置中指定&#xff0c;用于設置代理服務器應該將請求轉發到的目標地址。這通常是一個后端服務的API接口地址。…

Chrome 源碼閱讀:跟蹤一個鼠標事件的流程

我們通過在關鍵節點打斷點的方式&#xff0c;去分析一個鼠標事件的流程。 我們知道chromium是多進程模型&#xff0c;那么&#xff0c;我們可以推測&#xff1a;一個鼠標消息先從主進程產生&#xff0c;再通過跨進程通信發送給渲染進程&#xff0c;渲染進程再發送給WebFrame&a…

【FAS】《CN103106397B》

原文 CN103106397B-基于亮瞳效應的人臉活體檢測方法-授權-2013.01.19 華南理工大學 方法 / 點評 核心方法用的是傳統的形態學和模板匹配&#xff0c;亮點是雙紅外發射器做差分 差分&#xff1a;所述FPGA芯片控制兩組紅外光源&#xff08;一近一遠&#xff09;交替亮滅&…

[力扣題解] 700. 二叉搜索樹中的搜索

題目&#xff1a;700. 二叉搜索樹中的搜索 思路 觀察法 二叉搜索樹的搜索操作&#xff0c;比較根節點的數值&#xff0c; 如果等于&#xff1a;找到了&#xff1b;大于根節點&#xff1a;在右子樹&#xff0c;往右走&#xff1b;小于根節點&#xff1a;在左子樹&#xff0c;…

【Java基礎】線程方法

start()&#xff1a;啟動線程&#xff0c;使線程進入就緒狀態。 run()&#xff1a;線程執行的代碼邏輯&#xff0c;需要重寫該方法。 停止線程 void interrupt() 中斷線程&#xff0c;讓它重新去爭搶cpu 如果目標線程長時間等待&#xff0c;則應該使用interrupt方法來中斷等待…

RDMA (2)

iWARP(RDMA)怎么工作的 招式1:bypass內核 非iWARP時,當應用向網絡適配器發出讀或者寫命令時,命令穿過用戶空間以及內核空間,因此需要在用戶空間和內核空間間進行切換。 iWARP使用RDMA,讓應用直接將命令送達到網絡適配器。這規避了對內核的調用,減少了開銷和延遲。 招式2…

【Kubernetes】三證集齊 Kubernetes實現資源超賣(附鏡像包)

目錄 插敘前言一、思考和原理二、實現步驟0. 資料包1. TLS證書簽發2. 使用 certmanager 生成簽發證書3. 獲取secret的內容 并替換CA_BUNDLE4.部署svc deploy 三、測試驗證1. 觀察pod情況2. 給node 打上不需要超售的標簽【可以讓master節點資源不超賣】3. 資源實現超賣4. 刪除還…

[補題記錄]Leetcode 209.長度最小的子數組

傳送門&#xff1a;長度最小的子數組 Problem/題意 給定一個整數數組和一個整數 target&#xff0c;要求算出數組中最小長度的連續子數組&#xff0c;數組元素的和大于等于 target。 Thought/思路 題目要求維護最小的長度&#xff0c;因此我們希望&#xff1a;當條件不滿足…

IP域名關系的研究與系統設計(學習某知名測繪系統)

IP域名關系庫管理包括域名庫檢索和whois庫檢索&#xff0c;詳情如下。 域名庫檢索支持以下5項功能&#xff1a; 1.通過過濾器檢索 篩選條件包含IP地址、口令、工具名稱、可利用的漏洞編號、創建時間&#xff1b; 2.通過關鍵字檢索 在查詢框中輸入域名庫名稱的部分關鍵詞&a…