相关疑难解决方法(0)

如何使用redis PUBLISH/SUBSCRIBE与nodejs在数据值发生变化时通知客户端?

我正在用NodeJS和Redis编写一个事件驱动的发布/订阅应用程序.我需要一个示例,说明当Redis中的数据值发生变化时如何通知Web客户端.

javascript redis node.js

95
推荐指数
3
解决办法
7万
查看次数

基于Node.JS的ESB

有没有人知道用Node.JS编写的ESB.似乎节点对此很有用.可能会注意到IBM DataPower的规模,我现在只需要以下功能:

  • 基于内容的路由
  • AAA
  • 记录
  • 监控

我可以自己开始写一个,但我想知道是否可能有一个现有的项目要构建.

谢谢

esb node.js

8
推荐指数
1
解决办法
8105
查看次数

Node.js是多台机器上的tcp套接字服务器

我有一个node.js tcp服务器,用作iPhone聊天客户端的后端.由于我的实现包括私人群聊,我在内存中存储用户列表及其所属的聊天室,以便适当地路由消息.这一切都很好,假设我的聊天服务器总是在一台机器上,但是当我需要横向扩展时,我需要一种向连接到不同服务器的客户端广播消息的好方法.我不想开始在节点服务器之间进行进程间通信,而是希望与redis共享状态.

我有一些想法,但我想知道是否有人有一个很好的解决方案吗?这里要清楚的是一个例子:

用户1连接到房间X上的服务器1,用户2连接到房间X上的服务器2.用户1发送消息,我需要将其传递给用户2,但由于我使用内存数据结构,服务器不应该分享国家.我希望我的节点服务器尽可能保持愚蠢,这样我就可以添加/删除我的系统需求.

谢谢 :)

redis node.js

5
推荐指数
1
解决办法
2432
查看次数

Rxjs:实现队列

使用promises,实现队列以防止例如并行运行多个HTTP请求非常容易:

class Runner {
  private promise;
  constructor(http) {
    this.promise = q.resolve();
  }
  getUrl() {
    return this.promise = this.promise.then(() => http.get('http://someurl'))
  }
}

var runner = new Runner(http);

var lastPromise;
for (var i = 0; i < 10; i++) {
  lastPromise = runner.getUrl();
}

lastPromise.then(() => console.log("job's done!");
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何在Rxjs中做到这一点.如果我尝试类似于上面的内容,那么当我添加请求时,所有先前的HTTP调用都会重复,因为它只是添加到流中并重新运行整个事务.

我读了一些关于队列调度程序的东西,但这似乎不再存在(不再)了?

rxjs

5
推荐指数
1
解决办法
3930
查看次数

标签 统计

node.js ×3

redis ×2

esb ×1

javascript ×1

rxjs ×1