2017-08-07 95 views
2

我正在構建一個由多個核心'部分'(用戶,消息和交易信號)組成的NodeJS平臺。NodeJS微服務,合併數據

所以我的想法是爲它們中的每一個創建微服務,並且它工作得很好..但我無法弄清楚如何在微服務之間「加入」數據(我原本是一個前端.. .. ...)

例如,我有3個微服務..每個都有自己的MongoDB,在它自己的機器上完成隔離..想象一下,從單個微服務中檢索消息的常見情況,消息具有' user_id',我需要將用戶名和profilePicture合併到檢索到的消息對象中。

我讀了很多關於使用Redis的信息,但它對我來說看起來像是一個'消息傳遞'服務,沒有太多'聯合'服務。任何人都可以幫助我渡過黑暗?

謝謝!

enter image description here

我知道它的一個非常普遍的問題...但我就是不能得到一個什麼樣的「最佳實踐」是相結合的多個微服務的數據時,握..

+0

我們如何建議你在你的應用程序,我們不知道你的代碼和你的架構是什麼樣子... –

+0

更新了問題 – DutchKevv

+0

這仍然是一個非常廣泛的問題...你想要「結合」的東西,但我們不知道你想要什麼樣的組合,以什麼方式。順便說一句,甚至前端有服務(看Angular ... :)一個Node應用程序通常通過定義與Express的路線,即調用API的端點。 –

回答

1

我相信這可以使用kafka streams完成,它是一個pub/sub模型,您可以根據一個公用密鑰來加入流。您可以訂閱一個主題或添加一個數據轉換服務,該服務可以連接多個流並將連接/轉換的數據推送到一個新的流中。所有想要使用這些數據的服務都可以訂閱這個新的流。我建議你通過這個link

+0

有趣的一個!我喜歡流的想法,而不是手動合併網關中多個REST API的數據......謝謝我會試試看 – DutchKevv