我正在构建一个由几个核心“部分”(用户,消息和交易信号)组成的NodeJS平台。
所以我的想法是为每个人创建微服务,并且效果很好..但是我无法理解如何在微服务之间“加入”数据(我最初是一个前端... ..)
例如,我有3个微服务..每个都有自己的MongoDB,在自己的机器上完全隔离..想象一下从单个微服务中检索消息的常见情况,消息有'user_id',我需要获取用户名和profilePicture在检索到的消息对象中组合..?
我阅读了很多关于使用Redis的内容,但它似乎对我来说是一种“消息传递”服务,而不是一种“联合”服务。任何人都可以帮助我度过黑暗吗?
谢谢!
我知道这是一个非常普遍的问题......但是,在结合多种微服务的数据时,我无法掌握“最佳实践”。
答案 0 :(得分:1)
我相信这可以使用kafka streams来完成,它是一个发布/订阅模型,您可以根据公共密钥加入流。您可以订阅主题或添加连接多个流的数据转换服务,并将已加入/已转换的数据推送到新流中。所有想要使用此数据的服务都可以订阅此新流。我建议你仔细阅读link