服務重啟丟資料解決方案

2021-08-19 04:09:27 字數 365 閱讀 9614

背景:一定時執行緒往一佇列寫資料,若直接停止重啟服務會造成佇列資料丟失。

問題:如何解決重啟資料丟失。

方案1:

停止服務時幾個步驟:

1)停止往佇列寫資料,

2)對應處理佇列的執行緒

shutdown,

不再接受新的任務。

3)將現有佇列內容存到檔案中。

4)kill程序(如何判斷佇列內容已落地,可以通過記日誌來處理)。

開啟服務時步驟:

1) 判斷落地檔案是否為空,不為空則先將其入佇列。

方案2:

將檔案改為共享儲存,比如redis,mc等。

這樣,當服務為分布式時,當一台機器停止時,佇列內容可以通過其他機器讀取。

php fpm自動重啟 解決方案

環境 mac php7.1 nginx 現象 killall php fpm,php fpm自動重啟 共有如下幾種解決方案 1.檢查php fpm.conf的deamonize模式是否開啟 3.因為我是通過homebrew裝的php7.1,所以自動加入了開機自啟 檢視所有啟動任務 launchctl...

「產品」 「服務」 「解決方案」

如題,是關於一些概念的文章。但常常會有同學對這三個含糊不清,甚至混淆。個人認為,是因為這些概念之間很多重疊的地方,但是又並沒有去細緻的研究它們的細微區別。我是從it的視角出發來研究這三者的區別,但是很顯然,這三個概念並不僅僅侷限於某乙個領域。所謂產品,通常是指乙個公司或者研究院開發出來的能夠提供一定...

解決方案之重試服務

在程式開發過程中常遇因外部資源 問題,造成當前執行緒執行失敗的場景,常用解決方案是重試,如下是個人為此場景設計的可重試方案。可重試服務 呼叫案例 override public void retryfailed boolean retryresult retryservice.retry 3,500...