原创 大型車禍現場,電商秒殺超賣,這個鍋到底有誰來背?

背景 小明在一家在線購物商城工作,最近來了一個新需求,需要他負責開發一個商品秒殺模塊,而且需求很緊急,老闆要求必須儘快上線。 方案 小明一開始是這麼做的,直接用數據庫鎖進行控制,獲取秒殺商品數量並加鎖,如果數量大於零則成功,否則秒殺失敗。

原创 這可能是世界上最高級的廣告攔截程序!

前言 大渣好,我係古天咯,我是渣渣輝,給大渣介笑個敲好玩的遊系,湯碗攔月,一過你煤油王過的船心版本,幾虛三昏中,給咧帶來不一釀的趕腳,開菊一八蝦居刀。看一刀,刷一連,裝唄不發一昏錢,奶,跟我一器看。 在這廣告滿天飛的年代,相信大家對這個臺

原创 大家久等了,改造版阿里巴巴 sentinel 控制檯終於開源了

前言 最近幾天,好幾個小夥伴在後臺詢問,改造後的 sentinel-dashboard 什麼時候開源。講真,不是不想給大家放出來,是因爲一些地方還沒有完善好,怕誤導了大家,在經過了一個星期業餘時間的努力,終於把基礎版本搞定了。小夥伴們終於

原创 程序員寫 2000 行 if else?領導:這個鍋我不背

前言 知乎上有小夥伴提了這麼一個問題,如何看待陝西省普通話水平測試成績查詢系統?查詢系統前端代碼就直接給出了身份賬號,姓名,證書編號,如果信息是真的,就泄露了這麼多考生的信息,白給那種。爲什麼會發生這樣的事情?事情的始末是什麼? 證據 很

原创 阿里巴巴 Sentinel + InfluxDB + Chronograf 實現監控大屏

前言 在上一篇推文中,我們使用時序數據庫 InfluxDb 做了流控數據存儲,但是數據存儲不是目的,分析監控預警纔是最終目標,那麼問題來了,如何更好的實現呢?用過阿里巴巴 Sentinel 控制檯的小夥伴,是不是覺得它的控制檯醜爆了,而且

原创 SpringBoot 2.0 + InfluxDB+ Sentinel 實時監控數據存儲

前言 阿里巴巴提供的控制檯只是用於演示 Sentinel 的基本能力和工作流程,並沒有依賴生產環境中所必需的組件,比如持久化的後端數據庫、可靠的配置中心等。目前 Sentinel 採用內存態的方式存儲監控和規則數據,監控最長存儲時間爲 5

原创 SpringBoot 2.0 + Nacos + Sentinel 流控規則集中存儲

前言 Sentinel 原生版本的規則管理通過API 將規則推送至客戶端並直接更新到內存中,並不能直接用於生產環境。不過官方也提供了一種 Push模式,擴展讀數據源ReadableDataSource,規則中心統一推送,客戶端通過註冊監聽

原创 SpringBoot 2.0 + 阿里巴巴 Sentinel 動態限流實戰

前言 在從0到1構建分佈式秒殺系統和打造十萬博文系統中,限流是不可缺少的一個環節,在系統能承受的範圍內既能減少資源開銷又能防禦惡意攻擊。 在前面的文章中,我們使用了開源工具包 Guava 提供的限流工具類 RateLimiter 和 Op

原创 SpringBoot 2.0 + Apache Dubbo 2.7.3 最新版整合方案

前言 2018年2月16日,Apache Dubbo 加入 Apache 基金會孵化器。2019年5月16日,Apache 軟件基金會董事會決議通過了 Apache Dubbo 的畢業申請,這意味着 Apache Dubbo 正式成爲 A

原创 從SpringBoot構建十萬博文聊聊Tomcat集羣監控

前言 在十萬博文終極架構中,我們使用了Tomcat集羣,但這並不能保證系統不會出問題,爲了保證系統的穩定運行,我們還需要對 Tomcat 進行有效的運維監控手段,不至於問題出現或者許久一段時間才知道。凌晨一點這個鍋可誰都不想背,爲此基於目

原创 從SpringBoot構建十萬博文聊聊限流特技

前言 在開發十萬博客系統的的過程中,前面主要分享了爬蟲、緩存穿透以及文章閱讀量計數等等。爬蟲的目的就是解決十萬+問題;緩存穿透是爲了保護後端數據庫查詢服務;計數服務解決了接近真實閱讀數以及數據庫服務的壓力。 架構圖 限流 就拿十萬博客來

原创 集羣、限流、緩存 BAT 大廠無非也就是這麼做

前言 前陣子有網友詢問,如何優化網站?這個問題真的很大,跟他簡單的聊了一下,隨便說了幾點,覺得有必要整理一篇文章出來,正好前陣子在做爬蟲博客,於是把大體思路分享出來,與大家互通有無,共同進步。 優化 版本一 系統開始是這樣子的,一個 T

原创 從SpringBoot構建十萬博文聊聊高併發文章瀏覽量設計

前言 在經歷了,緩存、限流、布隆穿透等等一系列加強功能,十萬博客基本算是成型,網站上線以後也加入了百度統計來見證十萬+ 的整個過程。 但是百度統計並不能對每篇博文進行詳細的瀏覽量統計,如果做一些熱點博文排行、48小時排行之類統計,還需要引

原创 從SpringBoot構建十萬博文聊聊緩存穿透

前言 在博客系統中,爲了提升響應速度,加入了 Redis 緩存,把文章主鍵 ID 作爲 key 值去緩存查詢,如果不存在對應的 value,就去數據庫中查找 。這個時候,如果請求的併發量很大,就會對後端的數據庫服務造成很大的壓力。 造成原

原创 Activiti 開發案例之動態指派任務

流程圖 以上是一個請假的流程圖,以下爲流程任務節點描述: 員工發起請假流程 部門經理審批 同意則進入人事審批 拒絕則調整申請或者直接結束流程 人事審批通過則進入銷假環節 人事審批拒絕則調整申請或者直接結束流程 員工銷假結束流程 任務