背景 學生考試上交的場景,我們先將學生數據持久化存儲到mongodb中,就告知學生上交成功。然后通過disruptor消息隊列去處理后續業務邏輯。這里的上交場景會存在高並發的情況。 選型disruptor框架的原因是 其強大的單機消息處理能力,我們線上嘗試使用。如果消息處理失敗,則有 ...
需求:收到銀行異步通知,要在 秒內將結果返回銀行,同時還要根據銀行返回的交易狀態更新數據庫訂單狀態和其他業務。 采用disruptor,其實最好使用獨立MQ產品。本次用的是disruptor,遇到了一些問題,本文說下disruptor的問題排查。 問題 消費者不在接收隊列消息。 原因:handler程序中throw e ,將異常拋給了disruptor,而我們沒有設定com.lmax.disru ...
2019-01-31 16:54 0 568 推薦指數:
背景 學生考試上交的場景,我們先將學生數據持久化存儲到mongodb中,就告知學生上交成功。然后通過disruptor消息隊列去處理后續業務邏輯。這里的上交場景會存在高並發的情況。 選型disruptor框架的原因是 其強大的單機消息處理能力,我們線上嘗試使用。如果消息處理失敗,則有 ...
某個進程的內存占用情況 查找進程pid——>進入該進程的目錄/proc/{pid}/。有三個文件記錄了進程內存 root@ROUTER:~# ps | grep zebra 1507 ...
問題排查總結 最近一段時間 某台服務器上的一個應用總是隔一段時間就自己掛掉 用top看了看 從重新部署應用開始沒有多長時間CPU占用上升得很快。top命令很快就找到了某個java進程占用過高。 排查步驟 1、使用top定位到占用cpu過高的進行PID top 2、通過ps aux ...
這個是我之前在項目組里面,有一個功能模塊寫了一個很復雜的sql存儲過程,每次做業務都調用存儲過來處理邏輯。 當多人同時做業務調用這個存儲過程的時候,頁面沒法響應一直卡死在哪里,后面請教過專業的dba排查過問題,是存儲過程里面的某部分insert,update操作導致死鎖了。 現在講排查死鎖 ...
背景 在做一個微服務系統的時候,我們的參數一般都是接在通過方法定義來進行傳遞的,類似這樣 然后這時有個模塊,因為之前的設計原因,沒有預留傳遞參數的形式,在本着盡可能不修改原來代碼的情況下,決定 ...
@ 目錄 OOM 問題 什么是OOM 導致OOM問題的原因 排查手段 實戰 MAT分析 OOM 問題 什么是OOM OOM為out of memory的簡稱,來源於 ...
問題描述: 線上一個服務的突然掛了,無法被調用,查看該服務日志發現Dubbo的線程池全滿了: 沒有多少訪問量,但是線程卻猛增,猜測可能是哪里出現了死循環或者哪里發生了死鎖。 首先,檢測一下服務器的CPU使用量,發現在正常范圍內,基本上可以排除哪里出現了死循環。 先找出該服務的進程 ...
Linux網絡問題排查 用於排查Linux系統的網絡故障。 網絡排查一般是有一定的思路和順序的,其實排查的思路就是根據具體的問題逐段排除故障可能發生的地方,最終確定問題。 所以首先要問一問,網絡問題是什么,是不通,還是慢? 1. 如果是網絡不通,要定位具體的問題,一般是不斷嘗試 ...