關於架構公升級的一次體悟

2021-07-16 10:09:56 字數 792 閱讀 8739

在做a業務的時候,剛開始是阿里雲的esc, 4core8g,2個硬碟分別是90  40 吧, 後去由於使用者量迅速增長,伺服器在半個月的時候掛了,併發當時看到是18w。。。 cpu滿了,記憶體和硬碟已經全部耗完,我只能說是好可怕。。。

這台機器上nginx,做分發已經反向**,有統計服務 和業務服務各4個tomcat例項,後來由於併發量高,以及tomcat併發上限來不及處理,又增加了2個業務tomcat例項, 分析了伺服器掛了的原因:

1:nginx分發已經達到上限,當時nginx的配置如下,感覺沒有做防護處理,

2:是tomcat的併發上限,導致nginx分發過的很多請求都處理不了,nginx日誌異常多,日誌占用了很大的硬碟,

3:統計業務量異常巨大,經過推算,由於推廣使用者量的迅速增長,統計量每天至少幾千萬吧,佇列塞滿已經達到上線

再來講講我們的架構:

技術基礎架構是典型的spring+springmvc+mybatis+druid+redis+rabbitmq

我是追尋基礎服務組合來處理業務的,所以加入有十張表,那麼有是個基礎服務,用擴充套件server來聚合處理業務

資料來源用的是開源資料來源druid, 為加快訪問速度,訪問結果第一次訪問快取到redis裡,後續再訪問直接獲取,key是介面名稱外加引數名稱拼接,所以key的唯一性上不用擔憂(key的設計以及重新整理後續說明)  

隊裡呢是統計資料把打入到佇列裡,做統計處理,當然也有quartz平台來定時處理一些業務

以上框架以及架構就這麼多了

為啥要用redis,這個做所周知了,優良的讀寫併發,以及超快的響應速度,以及記憶體的嘛

有時間待補

debian的一次公升級

2010 03 17 今天來公司將debian系統公升級了下 1。首先用aptitude工具公升級可公升級軟體包 由於我source.list用的是lenny testing 在安裝過程中發現udev lenny安裝成功導致其他軟體不可安裝了,需要公升級核心 2。重新公升級 1 修改 etc apt...

一次關於sklearn crfsuite的安裝之旅

為了在windows上跑crf,我需要安裝sklearn crfsuite,最開始想到的是使用pycharm進行環境配置,裝上了sklearn crfsuite。跑起來,額,出錯了 正在訓練評估crf模型.traceback most recent call last file c users cc...

一次關於 的使用

今天遇到了乙個問題,值得一記 首先在我看專案 時發現了乙個問題 有乙個js的export如下 大家可以注意一下config 這裡為什麼要如此寫法呢?首先這裡用的時es6的箭頭函式 而此種寫法 等同於 其實這裡我們可以直接使用config 就 可以,為什麼還要多以一舉,用函式來返回呢,原因是假如我們用...