【问题标题】:ZeroMQ and Sails.jsZeroMQ 和 Sails.js
【发布时间】:2014-09-08 13:00:48
【问题描述】:

在 Sails.JS 应用程序中添加 ZeroMQ 套接字的推荐方法是什么。

我应该定义一个 Sails 钩子来处理套接字配置和连接,并在不同的控制器中使用一个全局范围的套接字对象,还是有其他更好的解决方案?

【问题讨论】:

    标签: node.js sails.js zeromq


    【解决方案1】:

    如果您要做的是设置一个 ZeroMQ 套接字来为整个应用程序提供服务,那么使用自定义 Sails 挂钩将是一个非常好的解决方案。除了将套接字对象设置为全局对象外,您还可以将其添加为钩子的属性(例如,将其公开为sails.hooks.zeromq.socket),或者将其本地限定为钩子文件并通过钩子公开其方法(例如sails.hooks.zeromq.send, sails.hooks.zeromq.on)。

    Sails 目前不提供跨项目共享自定义挂钩的简单方法,但它在我们的路线图中实施一个类似于我们目前为 generators 提供的系统,您可以在其中添加类似这个到.sailsrc 文件:

    "hooks": {
        "zeromq": "path/to/zeromq/hook/code"
    }
    

    因此,如果您为 ZeroMQ 制作一个钩子并将其开源,它可能对其他人来说是一种宝贵的资源!

    目前没有大量关于自定义挂钩的文档,但 YouTube 上有这个 riveting video 详细讨论了该主题。

    【讨论】:

    • 感谢您的回答,我遵循了钩子方式并最终获得了所需的功能,尽管它不像我想要的那样通用。我的需要非常类似于将 JSON 文档存储在 NoSQL DB 中,但我不需要直接发送到 DB,只需将其推送到另一个 ZeroMQ 组件。对于这个用例,我开始觉得也许 Waterline 适配器(只有一个 CREATE 方法)可能更适合,在推送之前增加模型验证的价值(我现在正在手动进行)。有意义吗?
    猜你喜欢
    • 1970-01-01
    • 2023-02-07
    • 1970-01-01
    • 2013-11-15
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多