Moleculer:分割微服务通信

Moleculer: segmenting micro service communication

我刚开始玩 Moleculer,发现从另一个服务调用服务 actions/events 是多么容易。这很棒。但是,有没有办法限制哪些服务可以访问特定服务?因此,例如,如果我的应用程序中有产品和订单,我可能不希望订单访问所有与产品相关的服务,而只是访问主要服务。我只是在想,如果我让它对所有人免费,可维护性可能会受到影响,因为我不会轻易知道哪个服务正在调用哪个服务。 或者我应该只创建两个项目(一个用于订单,一个用于产品)并在那里控制它?

您可以在代理中使用 namespace 属性。来自文档:

Namespace of nodes to segment your nodes on the same network.

https://moleculer.services/docs/0.13/broker.html#Broker-options

然后你可以使用inter namespace middleware https://gist.github.com/icebob/c0bce54436379d29c1bee8521ceb5348

无论如何,您可以考虑使用 Discord 聊天 (https://discord.gg/TSEcDRP)。 Moleculer 社区在那里更加活跃。