雖然在標準部署模型中,它們都在同一臺機器上,但我正在構建一個由多個異構服務組成的系統,這些服務可以通過網絡相互通話。用於管理該複雜系統中的實體的UI客戶端應當能夠顯示來自所有包括服務的聚合數據,同時允許在該聚合數據上進行搜索。跨多個服務的數據檢索和搜索
我想知道如何設計在這個系統內的數據檢索,以便它是可擴展的,因爲要搜索的數據量已經很高並且增加了?
我正在考慮兩種方法:
從需求的所有服務的客戶端查詢數據並聚集在其層的結果。在很多情況下,它必須在來自多個服務的數據之間進行連接,所以我在這裏關注性能。
以某種方式非規範化服務數據,以方便客戶端查詢,甚至在多個服務數據之間存儲聚合,以便客戶端不必按需連接。很可能,將每個服務的非規範化數據存儲在其自己的數據庫或緩存中會更好,因此更容易將所有非規範化數據保持爲最新。但是,我需要在其他地方將多個服務數據的聚合視圖放在一起,我擔心保持此遠程緩存處於最新狀態的開銷。
任何解決類似問題的現有體系結構的例子或引用將受到高度讚賞。謝謝!