nodeMQ 是基于Nodejs 和Redis 开发的消息队列系统,目前仅仅是beta版本。
支持简单的put get操作,采用http协议访问。项目地址:https://github.com/lnmp/nodemq
Redis client 采用的是 https://github.com/tristandunn/node-redis-client
基于Redis 数据库,可以方便进行性能调优,和支持分布式的消息队列,nodejs 自身又可作为webserver,二次开发也非常方便,全部代码才100多行,这仅仅是第一个beta版本,后面考虑添加监控运行状态的功能和提升性能
==============================================
使用说明
put 操作
curl "http://10.0.0.106:8000/put?data=xxxxxxxxxx"
get 操作
curl "http://10.0.0.106:8000/get"
===========================================
安装&使用
安装nodejs和Redis之后,
git clone https://github.com/lnmp/nodemq.git cd nodemq
config.js 负责配置nodemq server 和redis的端口和域名
运行nodemq 也非常简单
node index.js
==============================================
压力测试数据 原生配置文件,对Redis没有进行任何优化
put操作压力测试
[libo@search106 src]$ webbench -t 10 -c 100 http://10.0.0.106:8000/put?data=xxxxxxxxxx Webbench - Simple Web Benchmark 1.5 Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software. Benchmarking: GET http://10.0.0.106:8000/put?data=xxxxxxxxxx 100 clients, running 10 sec. Speed=242718 pages/min, 307442 bytes/sec. Requests: 40453 susceed, 0 failed. [libo@search106 src]$ webbench -t 10 -c 300 http://10.0.0.106:8000/put?data=xxxxxxxxxx Webbench - Simple Web Benchmark 1.5 Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software. Benchmarking: GET http://10.0.0.106:8000/put?data=xxxxxxxxxx 300 clients, running 10 sec. Speed=247836 pages/min, 315873 bytes/sec. Requests: 41306 susceed, 0 failed. [libo@search106 src]$ webbench -t 10 -c 500 http://10.0.0.106:8000/put?data=xxxxxxxxxx Webbench - Simple Web Benchmark 1.5 Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software. Benchmarking: GET http://10.0.0.106:8000/put?data=xxxxxxxxxx 500 clients, running 10 sec. Speed=237558 pages/min, 304866 bytes/sec. Requests: 39593 susceed, 0 failed.
get 操作压力测试
[libo@search106 src]$ webbench -t 10 -c 100 http://10.0.0.106:8000/get Webbench - Simple Web Benchmark 1.5 Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software. Benchmarking: GET http://10.0.0.106:8000/get 100 clients, running 10 sec. Speed=287718 pages/min, 359655 bytes/sec. Requests: 47953 susceed, 0 failed. [libo@search106 src]$ webbench -t 10 -c 300 http://10.0.0.106:8000/get Webbench - Simple Web Benchmark 1.5 Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software. Benchmarking: GET http://10.0.0.106:8000/get 300 clients, running 10 sec. Speed=298908 pages/min, 373635 bytes/sec. Requests: 49818 susceed, 0 failed. [libo@search106 src]$ webbench -t 10 -c 500 http://10.0.0.106:8000/get Webbench - Simple Web Benchmark 1.5 Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software. Benchmarking: GET http://10.0.0.106:8000/get 500 clients, running 10 sec. Speed=294066 pages/min, 367582 bytes/sec. Requests: 49011 susceed, 0 failed.
相关推荐
而Redis则是一款开源、高性能的键值存储系统,常用于缓存、消息队列等场景。 首先,我们来看`outputFs.js`文件,这是自定义的读写数据库。在Node.js中,文件系统(FS)模块是内置的,用于处理文件和目录的操作。`...
Redis是一个开源的、支持网络的、键值对存储数据库,常用于缓存和消息队列。自动安装Redis的脚本可以包含以下步骤: 1. 下载源码:`wget http://download.redis.io/releases/redis-X.Y.Z.tar.gz`(替换X.Y.Z为所需...
在Node.js中,可以使用各种库来构建消息中心,如RabbitMQ、Kafka或Redis等消息队列系统,它们都提供了强大的发布/订阅功能。另外,还可以使用WebSocket来实现实时双向通信,这对于需要即时反馈的应用尤其有用。 **...
最快、最可靠、基于 Redis 的 Node.js 队列。 为坚如磐石的稳定性和原子性精心编写。 如果你想开始使用完全用 Typescript 编写的 Bull 的下一个主要版本,欢迎来到这里的新仓库。 否则,非常欢迎您仍然使用 Bull,这...
Redis是一个开源的、高性能的键值数据库,特别适合于存储和检索大量的实时数据。在这个聊天室中,Redis将用于存储用户的会话信息、聊天记录、在线用户列表以及未读消息计数等。它的优点在于数据读写速度快,支持多种...
Redis是一个高性能的键值存储系统,常用于缓存和消息队列。在推荐系统中,Redis可以存储用户会话信息,快速响应用户的推荐请求。同时,它也可以作为消息队列,处理异步任务,如数据刷新或模型更新,确保系统的实时性...
Redis是一款高性能的键值存储系统,常用于缓存、消息队列等场景。在本项目中,Redis被用来存储临时数据,如用户的会话信息,以提高数据读取速度和减轻数据库的压力。通过将频繁访问的数据存入内存,Redis能提供近乎...
Redis是一个开源的、基于内存的数据结构存储系统,可以用作数据库、缓存和消息代理。在秒杀系统中,Redis作为一个快速的键值存储,用于保存库存(counter)信息,可以高效地处理大量并发读写操作。 4. **Kafka**:...
Redis是一个开源的、内存中的数据结构存储系统,常用于做缓存和消息队列。在这里,Redis被用作用户注册信息的存储库。由于其高速读写性能,Redis适合存储需要快速访问的数据,如登录会话或用户信息。项目可能使用了...
2. **Redis**:Redis是一个开源的、高速的键值存储系统,常用于数据库、缓存和消息中间件。在这个聊天应用中,Redis可能被用作消息队列,存储和转发用户之间的聊天记录。 3. **实时通信**:Node.js的事件驱动机制和...
- **特点与优势**:了解 Redis 的主要特性和应用场景,例如作为缓存、消息队列或实时数据分析工具。 #### 六、Redis 的安装与配置 - **安装过程**:参照官方文档或第三方教程,根据操作系统类型(Windows、Linux ...
标题“node-js-redis-queue”表明我们正在讨论一个基于Node.js和Redis的队列系统。这个系统可能用于处理后台任务、批量操作或者实现异步处理。Node.js是JavaScript的一个运行环境,它允许开发者在服务器端使用...
首先,**Redis** 是一个开源的内存数据结构存储系统,常用于数据库、缓存和消息代理。在Node.js应用中,Redis提供了高速的数据读写能力,对于需要快速响应的场景,如实时聊天、计数器或短暂存储中间结果,是理想的...
3. 消息队列:消息队列的使用是处理大规模并发请求的常见策略,能够有效地解耦系统组件,提高系统吞吐量和可伸缩性。 4. 缓存:在后端系统中广泛应用缓存技术,如Redis,以提高数据读取速度,减轻数据库压力,提升...
Redis是一个开源的、基于键值对的数据结构存储系统,常被用作数据库、缓存和消息代理。安装Redis的命令如下: ``` yum install redis ``` 虽然Redis的具体用途在描述中未详细说明,但其常见用途包括存储会话数据、...
4. **NodeJS 与 Java 集成**:两个语言可以通过消息队列(如 RabbitMQ 或 Redis)或者直接 API 调用来协同工作。 **horst 数据包嗅探工具:** 1. **数据包捕获**:horst 是一个用于 Wi-Fi 数据包嗅探的工具,可能...
5. **Redis**: 高性能的键值对数据存储系统,常作为缓存和消息队列使用。项目中的Redis工具可能用于快速读写操作或存储临时数据。 6. **`restId`**: 这个特性可能是为了便于追踪每个HTTP请求,通过为请求添加唯一...