Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 获取数据库更改通知:是否可以在riak中查看条目?_Node.js_Riak - Fatal编程技术网

Node.js 获取数据库更改通知:是否可以在riak中查看条目?

Node.js 获取数据库更改通知:是否可以在riak中查看条目?,node.js,riak,Node.js,Riak,我正在寻找一种从节点订阅riak中事件的有效方法。我希望能够从riak收到关于条目更改的通知 例如,当一个node.js服务器更新一个条目时,使用并监视该条目的另一个服务器会自动接收更新的条目或关于其更新的通知 如果这是不可能的,是否有一个高效的消息传递系统可以跨node.js服务器高效地使用?Riak实现所谓的功能。Post commits(在写入成功时触发)(可能是您想要的)只能用Erlang代码写入,并且需要将Riak配置为触发自定义Erlang函数,作为相应bucket上的属性 根据您的

我正在寻找一种从节点订阅riak中事件的有效方法。我希望能够从riak收到关于条目更改的通知

例如,当一个node.js服务器更新一个条目时,使用并监视该条目的另一个服务器会自动接收更新的条目或关于其更新的通知


如果这是不可能的,是否有一个高效的消息传递系统可以跨node.js服务器高效地使用?

Riak实现所谓的功能。Post commits(在写入成功时触发)(可能是您想要的)只能用Erlang代码写入,并且需要将Riak配置为触发自定义Erlang函数,作为相应bucket上的属性

根据您的需要和应用程序的规模,您的Erlang设置可以有几个选项来通知Node.js服务器。编写一个Erlang函数将向Node.js服务器发送HTTP请求相对容易,但这会带来很大的开销,这可能不适合您的应用程序。更好,但稍微复杂一点的是,使用一个发布/订阅系统,如or(仅举几个例子)提供的发布/订阅系统,该系统经过战斗测试,在重载下表现良好。如果您想使用ZeroMQ,请参阅如何实现非常可靠的发布/订阅

这两种消息传递工具以及其他许多工具都可以通知Node.js实例对Riak或Node.js实例中有效修改数据的监视条目的更新。第二个选项(Node.js到Node.js)可能更简单,因为如果您不熟悉Erlang,就不需要学习它。这两种工具都有经过良好测试的node.js库:

如果要使用它们作为提交后钩子从Riak内部发送通知,下面是相应的erlang驱动程序:


我认为跨越node.js实例的ZeroMQ不是我的选择。至少对于当前项目不是这样。我将看一看提交前/提交后挂钩,它可能会在那里派上用场。谢谢如果这个答案是你想要的,你应该这样标记它!我会的,我正在等待在更大范围内尝试这个项目,目前该项目处于搁置状态。好的,太好了!如果你有任何问题,请告诉我!