javascript - NodeJS 微服务,结合数据

标签 javascript node.js redis microservices

我正在构建一个由几个核心“部分”(用户、消息和交易信号)组成的 NodeJS 平台。

所以我的想法是为它们中的每一个创建微服务,并且它工作得很好..但是我无法理解如何在微服务之间“连接”数据(我最初是一个前端... ..)

例如,我有 3 个微服务。每个都有自己的 MongoDB,在自己的机器上完全隔离。想象一下从单个微服务检索消息的常见情况,消息有一个“user_id”,我需要获取要在检索到的消息对象中组合的用户名和 profilePicture..?

我读了很多关于使用 Redis 的文章,但它对我来说似乎是一种“消息传递”服务,而不是一种“组合”服务。有人可以帮助我度过黑暗吗??

谢谢!!

enter image description here

我知道这是一个非常笼统的问题......但我无法理解在组合多个微服务的数据时“最佳实践”是什么......

最佳答案

我相信这可以使用 kafka streams 来完成,它是一个发布/订阅模型,您可以在其中加入基于公共(public) key 的流。您可以订阅主题或添加数据转换服务,该服务连接多个流并将连接/转换的数据推送到新流中。所有想要使用此数据的服务都可以订阅此新流。我建议你通过这个 link

关于javascript - NodeJS 微服务,结合数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45544777/

相关文章:

javascript - 单击按钮后如何从iframe启动音频流

node.js - 无法在 OS X El Capitan 上启动 Node.js

javascript - NodeJS (ExpressJS) 未处理的拒绝 TypeError : callback is not a function

couchdb - 内存管理方法中的 RavenDb 与 CouchDb

javascript - 如何让父 onclick 在被子 onclick 禁用后再次运行

javascript - 某些库中是否有任何 JavaScript 函数可以将简单的 wiki 标记(以多行字符串形式给出)转换为 html?

javascript - 如何在基于 linux 的服务器上运行 node js?

python - Celery、RabbitMQ、Redis : Celery message enters exchange, 但不排队?

ruby-on-rails - Redis 大量DEL+SET 时如何处理路由超时?

javascript - JavaScript 数组中未定义的值