小编Flo*_*ent的帖子

node.js node-cassandra-client请求失败

当我尝试查询Cassandra服务器时,我一直遇到同样的问题.我有npm安装了node-cassandra-client版本0.9.5.

var Connection = require('cassandra-client').PooledConnection;

var hosts = ['host1:9160','host2:9160'];
var cassandra = new Connection({'hosts': hosts, 'keyspace': 'keyspace'});
cassandra.on('log', function(level, message, obj) {
  console.log('log event: %s -- %j', level, message);
});
var cql = "SELECT * FROM columnFamily LIMIT 1";

cassandra.execute(cql, function(err, rows) {
  if(err) console.log("erreur à la requete");

  console.log(rows);
  cassandra.shutdown(function() {
    console.log("connectoin pool shutdown");
  });
})
Run Code Online (Sandbox Code Playgroud)

似乎连接成功了.但是我一直遇到以下错误:

log event: info -- "connecting host:9160(1)"
log event: cql -- "SELECT * FROM columnFamily LIMIT 1"
DEBUG: 
DEBUG: /PATH/cassandra-client/node_modules/thrift/lib/thrift/connection.js:90
DEBUG:         throw e;
DEBUG: …
Run Code Online (Sandbox Code Playgroud)

cql cassandra node.js

11
推荐指数
1
解决办法
1533
查看次数

使用http-proxy与node.js进行负载均衡

我正在尝试使用node.js和http-proxy编写负载均衡代码.我想要一个loadBalancer,它共享两台服务器之间的传入请求处理.

var http = require('http'),
httpProxy = require('http-proxy');

 var servers =  [{host :'127.0.0.1', port :3000}, {host : 'remote_adr',port :3000}];

  httpProxy.createServer(function (req, res, proxy) {

  var target = servers.shift();
  proxy.proxyRequest(req, res, target);
  servers.push(target);


   }).listen(8000);
Run Code Online (Sandbox Code Playgroud)

我认为这样做,它会产生一个loadBalancer,它交替地向serv1和serv2发送请求.

但是,当我试用它时,它似乎没有特定的顺序请求2台服务器.此外,大多数请求都发送到我的localhost节点服务器(127.0.0.1:3000)

有人能够解释这种行为吗?

load-balancing node.js node-http-proxy

11
推荐指数
1
解决办法
7736
查看次数