1

我以前没有做过这种规模的项目,所以如果我走错了方向,请告知。

我需要有 5 到 700 个连接(来自移动电话),在同一个套接字上进行连接,并同时将小数据包传输到服务器(只有大约 20 个字符的 CSV 字符串)。没有数据需要返回到手机,所以只需要确认到达。需要处理数据并将其发送到主设备,我认为该设备将使用网络套接字。

多年来,我一直是 Apache/(CGI 和 PHP)专家,但我认为 Node.js 将成为收集数据的方式。只是一个简单的 IO 循环,它将捕获数据并发送一个简单的确认。我打算使用 C 和 PHP 进行更重的数字处理和服务。问题是从 node.js 服务器收集数据,并在 Apache 服务器上对其进行处理。

我在想Redis,但是具体对Redis不是很熟悉,所以不知道有没有FIFO的实现,也不需要写磁盘,因为数据会马上被删除。我现在正在考虑 memcached,但我仍然不知道不依赖于使用时间戳的 FIFO 实现(这可能是我最终必须使用的)。

有什么想法或建议吗?

4

1 回答 1

1

你在正确的轨道上!

您可以根据需要使用 redis 来实现FIFO 队列。Node.JS 是这个应用程序的一个很好的前端,因为它需要最少的资源和最少的数据处理。

var redis = require("redis"),
    client = redis.createClient();

client.lpush("key","hello");
client.lpush("key","world");

然后,从命令行(或其他程序,例如您的 PHP 程序):

$ redis-cli
redis 127.0.0.1:6379> rpop key
hello
redis 127.0.0.1:6379> rpop key
world

我花了几个小时才从 php/database 的心态来理解 node 和 redis。不要放弃,你有正确的想法,你有正确的软件。

于 2013-04-04T20:21:36.150 回答