我有一個應用程序使用SOAP,REST服務或僅使用數據庫存儲過程與幾個內部和外部源進行通信。顯然,性能和穩定性是我正在處理的一個主要問題。即使端點在最佳狀態下運行,對於大量數據,我也能輕鬆看到需要10秒鐘的呼叫。與外部數據依賴關係的性能問題
因此,我試圖通過預取數據和本地存儲來提高應用程序的性能 - 至少讀取操作是快速的。
儘管我的應用程序是數據的主要使用者和生產者,但是我的應用程序之外的某些數據也可能會改變,我無法控制。如果我使用緩存,當我的應用程序之外的數據發生更改時,我永遠不會知道何時使緩存無效。
所以我認爲我唯一的選擇是有一個工作調度程序運行,不斷更新數據庫。我可以根據用戶登錄和使用應用程序的頻率優先考慮用戶。
我說的是5萬用戶,至少有10個端點速度非常慢,有時可能需要一分鐘才能打一個電話。像Quartz會給我我需要的規模嗎?我將如何解決這個問題,成爲一個單一的失敗點?
我只是在尋找一些不需要高維護的東西,並加速了至少一些較簡單的子系統 - 如果不是最多的話。有什麼建議麼?
請澄清一下這些50,000個用戶在做什麼。他們如何與來自多個來源的數據進行交互?您是否積極提取所有這些數據? – 2009-08-15 01:39:23
把它看作是一個門戶網站,用戶可以訂購產品,付款,配置產品,查看使用情況報告,獲取警報,升級/降級,使用票務等。它是一個典型的J2EE應用程序,有點像銀行門戶,但有很多不同。目前,一切都按需求提取。 – Langali 2009-08-15 02:10:26
好的,看看我的答案,並讓我知道你是否還有其他問題。 – 2009-08-15 11:56:11