亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為 Spring Boot 應用程序存儲值的最佳實踐是什么?

為 Spring Boot 應用程序存儲值的最佳實踐是什么?

MMMHUHU 2024-01-17 21:07:58
我有一個使用 Spring boot 構建的簡單微服務。它包含一個計劃任務,我需要保留下一個計劃任務的最后一個計劃任務日期。由于服務將因更新或任何意外原因而停止,請告知在本地存儲此值的最佳實踐是什么?謝謝
查看完整描述

4 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

有幾種可能的解決方案:

  • 寫入文件(如果可以寫入文件系統)

  • 寫入數據庫(如果您正在使用它)

  • 向另一個微服務發出 HTTP 請求,該微服務將保留您的最后一條記錄


查看完整回答
反對 回復 2024-01-17
?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

由于應用程序將部署在 AWS 上,因此您可以使用Systems Manager Parameter Store。您可以指定鍵值對并在每次成功的計劃更新時更新該值。這樣,即使 EC2 實例(已部署應用程序)終止,這些鍵值對也不會受到影響。

您還可以使用 S3 存儲桶并將其寫入文件中。


查看完整回答
反對 回復 2024-01-17
?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

存儲應用程序數據的方法有很多種,但選擇歸根結底取決于您希望解決方案的靈活性。與您的用例類似,Spring Batch Admin(現已停產)正在使用 MySql DB。這樣就可以跟蹤處理過的記錄,并可以從最后一點繼續處理。

它可以像將數據寫入文件一樣簡單,該文件可以幫助您識別最后處理的記錄,或者將其存儲在 Redis、MySql 或 MongoDB 等數據存儲中。

因此,如果您沒有正在使用的任何數據庫,如果您已經在使用某種類型的數據存儲(例如 MySql、MongoDB 或 Redis),則將最后處理的記錄的標識符存儲到文件中就可以了。

最好數據存儲到此數據存儲中,因為數據存儲從特定于應用程序的邏輯或格式中抽象出來,并且可以根據需要在外部進行查詢和/或修改。這使得解決方案更具可修改性,因為它與應用程序沒有緊密綁定。



查看完整回答
反對 回復 2024-01-17
?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

您應該避免將任何最常查找的數據保存在文件系統上。如果有數百個并發讀取,這會減慢您的應用程序的速度。嘗試依賴持久性緩存。

  • 所有讀取的第一選擇應該是在內存中。您可以異步寫入內存和持久緩存。如果應用程序發生故障,您應該使用為此目的構建的其他高性能緩存。重新啟動時,從持久緩存重新加載內存緩存。

  • 持久緩存例如:Elasticsearch、Redis。這將提高您的應用程序性能并且更具可擴展性。


查看完整回答
反對 回復 2024-01-17
  • 4 回答
  • 0 關注
  • 220 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號