小编Liv*_*nat的帖子

在node上使用cluster和socket.io-redis扩展node.js socket.io@1.*.*

有没有人知道一个很好的解决方案来扩展node.js - 基于socket.io的应用程序在多个核心上?我目前正在测试socket.io文档中提供的解决方案,在多个节点上使用socket.io,但没有取得具体成功.

我在github上创建了一个游乐场:https://github.com/liviuignat/socket.io-clusters这是一个来自socket.io站点的聊天应用程序的位修改副本.它使用express,cluster,socket.io@1.1.0socket.io-redis.

目前sticky-session在分支feature/sticky中使用的实现似乎也更好.

最后,应用程序需要发布到Heroku,扩展到多个dynos.

最初我尝试做这样的事情 - 只为群集节点启动服务器,但我总是收到错误:失败:连接在收到握手响应之前关闭

if (cluster.isMaster) {    
  for (var i = 0; i < numCPUs; i++) {
    cluster.fork();
  }

  cluster.on('exit', function(worker, code, signal) {
    console.log('worker ' + worker.process.pid + ' died');
  });
} else {
  var server = new Server({
      dirName: __dirname,
      enableSocket: true
    })
    .setupApp()
    .setupRoutes()
    .start();
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试为主节点启动服务器:

if (cluster.isMaster) {
  var server = …
Run Code Online (Sandbox Code Playgroud)

heroku scale redis node.js socket.io

6
推荐指数
1
解决办法
1412
查看次数

Material-UI 自动完成重复键警告

我正在通过一个项目使用material-ui,当尝试加载更大的联系人列表时,我遇到了自动完成组件的一些小问题,某些联系人可能具有相同的名称(由于测试数据),但有不同的ID。

  1. 将对象作为数据源项传递时发出警告。我收到重复的密钥警告:“警告:flattenChildren(...):遇到两个具有相同密钥的孩子”

    {
      contact,
      key: index,
      text: FullName,
      value: <MenuItem key={index} primaryText={item} />
    }
Run Code Online (Sandbox Code Playgroud)
  1. 打字时渲染速度很慢,因为有时它会匹配很多联系人。理想情况下,我希望在自动完成中显示最多 5-10 个联系人,但这目前还不可能。(这个功能似乎已经在 PR 中被接受了,或者?)

谢谢,

autocomplete reactjs material-ui

2
推荐指数
1
解决办法
6141
查看次数

标签 统计

autocomplete ×1

heroku ×1

material-ui ×1

node.js ×1

reactjs ×1

redis ×1

scale ×1

socket.io ×1