问题标签 [moleculer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
513 浏览

node.js - 如何将路由别名放在单个服务设置中,而不是 Molecular 中的 API 网关服务中

如文档中所述,路由别名可以放在API服务中,但我想将别名放在单独的服务设置中,我该怎么做?

假设我有一个用户服务和API 网关

并且用户服务有一个角色操作,它只会发回 id作为示例

如果我向我发送获取请求,/users/role/1我将得到1结果

它像这样工作

api.service.js

users.service.js

想要这样的东西

api.service.js

users.service.js

目标是每个服务都在自己的项目中分离,任何服务的别名都可以放在其中而不是 API 服务中

0 投票
1 回答
175 浏览

node.js - 分子 pub/sub 良好实践

我用分子器进行原型设计,只是想知道一个架构问题。我的应用程序由许多部分构建:分子服务、redis、nats、C 语言应用程序......并且它部署在 ks8 集群上。我必须在我的 C 应用程序中订阅分子服务发布的事件。在船上拥有 redis 和 nats 我必须选择:

  • 使用来自分子服务的本地 ioredis api 发布事件并在我的 C 客户端中使用它(完成)
  • 使用 NATS 分子 tansporter 并在 C 客户端中使用它(甚至没有启动)

从您的角度来看,处理这种架构的建议方法是什么?

0 投票
2 回答
582 浏览

socket.io - 使用分子运行程序而不是 ServiceBroker 将分子 io 与分子网络集成的示例?

我很喜欢使用分子运行程序,而不是在我正在处理的分子网络项目中创建 ServiceBroker 实例。Runner 简化了为分子网络设置服务,所有服务(包括 api.service.js 文件)的外观和行为都相同,使用一种module.exports = { blah }格式。

我可以在 api.service.js 文件中清晰地定义 REST 端点,并在适当的服务文件中创建连接的函数。例如aliases: { 'GET sensors': 'sensors.list' } 指向中的list()动作/功能sensors.service.js。使用数组中的一些虚拟数据,这一切都很好。

下一步是让服务打开一个套接字并与在内部设置地址/端口上侦听的本地程序对话。这个想法是接受来自网络的 REST 调用,通过套接字与本地程序对话以获取一些数据,然后格式化并通过 REST 将数据返回给客户端。

但是,当我想将套接字与分子器一起使用时,我很难找到有用的信息和示例,以将分子器 io 与基于分子器运行器的设置集成在一起。我找到的所有示例都使用 ServiceBroker 模型。我认为我的 Google-Fu 非常好,但我不知道下一步该去哪里。或者,我可以修改 ServiceBroker 示例以与分子运行器一起使用吗?欢迎任何见解或意见。

0 投票
2 回答
471 浏览

node.js - 分子网络 API 网关。onError 从未命中

我们使用分子网站中的示例作为我们 API 网关的基础,并且在路由抛出错误时遇到问题 - onError处理程序永远不会被命中,异常未处理并且节点使应用程序崩溃。不是这个主意!

我意识到这不是一个完整的例子,但如果我们犯了任何严重的概念错误,或者我们应该期望onError处理程序被击中会很好...

0 投票
0 回答
179 浏览

node.js - Mongo - 重复 ID 上的批量插入错误

我正在尝试在 MongoDB 中插入多条记录,对于少量记录(少于 1000 条)它可以正常工作。但是对于庞大的数据集,如果有任何重复值,它会引发错误。

如果有重复记录,有没有办法继续没有错误?

代码

错误

0 投票
2 回答
559 浏览

microservices - 通过 nats 消息运行分子微服务

我是分子和微服务的初学者。我通过nestjs 框架创建了一个api 网关,现在我想通过nestjs 的nats 消息调用分子中的微服务。所以我的问题是:如何在 molculer 中调用服务以及在 nestjs 中调用分子动作的消息模式是什么?

通过 molculer 创建模板后,我有以下文件,我想调用“greeter.hello”操作。我能怎么做?

greeter.service.js :

分子.config.js:

谢谢

0 投票
1 回答
59 浏览

moleculer - 列出分子 http 入口点

我正在使用moleculer-web,如何获取可用的 API URL 列表。

http://0.0.0.0:4000/~node/actions显示 404。

0 投票
3 回答
1378 浏览

node.js - Nodejs与分子微服务应用程序,如何保持运行服务器

我正在使用带有 Molecular 的 NodeJS,使用“npm run dev”来运行应用程序。当控制台关闭应用程序正在关闭时,如何将应用程序作为后台服务运行,而在 NodeJS 中我使用“永远”模块,我可以使用它或任何其他模块来运行应用程序。

提前致谢

我找到了解决方案,在 package.json 脚本中添加了以下命令解决了这个问题。

0 投票
1 回答
158 浏览

moleculer - 如何将分子网关与 express-nodejs 应用程序连接?

我正在学习微服务架构并尝试使用分子。它似乎可以控制我的“express-nodejs”应用程序的许多方面。之前,我将每个 nodejs 应用程序迁移到分子,是否可以连接分子门 API 和我的 nodejs 应用程序?

0 投票
1 回答
229 浏览

node.js - 如何从我的应用程序而不是 CLI 运行 Vault?

我正在尝试在我的 NodeJS 应用程序中启动 Vault 服务。使用 CLI 来使用 Vault 是可以的,但我需要它在应用程序启动时自动工作。我试试这个

但我有这个错误:

如果我之前运行过它,它可以工作 vault server -config=config.hcl

即使我杀死它,它似乎也可以在不重新加载的情况下工作。我肯定在这里遗漏了一些东西:) 我想知道 node-vault 是否应该启动 Vault 服务器?如果没有,我想知道如何从应用程序而不是 CLI 启动 Vault 服务器?

如果您知道这样做的好方法,或者有线索,我会全力以赴。

尼古拉斯