2017-08-07 43 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