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-5.0.14.1的安装和使用,以及它的一些核心特性。 Redis-5.0.14.1是Redis的一个稳定版本,提供...
Redis是一个开源的、高性能的键值数据库,特别适合于存储和检索大量的实时数据。在这个聊天室中,Redis将用于存储用户的会话信息、聊天记录、在线用户列表以及未读消息计数等。它的优点在于数据读写速度快,支持多种...
Redis是一个高性能的键值存储系统,常用于缓存和消息队列。在推荐系统中,Redis可以存储用户会话信息,快速响应用户的推荐请求。同时,它也可以作为消息队列,处理异步任务,如数据刷新或模型更新,确保系统的实时性...
Redis是一款高性能的键值存储系统,常用于缓存、消息队列等场景。在本项目中,Redis被用来存储临时数据,如用户的会话信息,以提高数据读取速度和减轻数据库的压力。通过将频繁访问的数据存入内存,Redis能提供近乎...
Redis是一个开源的、基于内存的数据结构存储系统,可以用作数据库、缓存和消息代理。在秒杀系统中,Redis作为一个快速的键值存储,用于保存库存(counter)信息,可以高效地处理大量并发读写操作。 4. **Kafka**:...
Redis是一个开源的、内存中的数据结构存储系统,常用于做缓存和消息队列。在这里,Redis被用作用户注册信息的存储库。由于其高速读写性能,Redis适合存储需要快速访问的数据,如登录会话或用户信息。项目可能使用了...
2. **Redis**:Redis是一个开源的、高速的键值存储系统,常用于数据库、缓存和消息中间件。在这个聊天应用中,Redis可能被用作消息队列,存储和转发用户之间的聊天记录。 3. **实时通信**:Node.js的事件驱动机制和...
Redis是一个开源的内存数据结构存储系统,通常用作数据库、缓存和消息代理。它支持多种类型的数据结构,如字符串、散列、列表、集合、有序集合等,是实现高速缓存和会话管理的理想选择。通过Redis,可以极大提高应用...
- **特点与优势**:了解 Redis 的主要特性和应用场景,例如作为缓存、消息队列或实时数据分析工具。 #### 六、Redis 的安装与配置 - **安装过程**:参照官方文档或第三方教程,根据操作系统类型(Windows、Linux ...
标题“node-js-redis-queue”表明我们正在讨论一个基于Node.js和Redis的队列系统。这个系统可能用于处理后台任务、批量操作或者实现异步处理。Node.js是JavaScript的一个运行环境,它允许开发者在服务器端使用...
在分布式系统中实现定时任务和延时任务是常见的需求,这些任务通常需要在特定时间执行或在一段时间后执行,它们在数据处理、任务调度、消息队列等多个应用场景中扮演着关键角色。 Redis作为一种开源的高性能键值...
在设计基于Redis、Node.js和Go语言的分布式定时任务和延时任务系统时,需要考虑任务的调度、执行、持久化、监控和容错等多方面的因素。例如,可以使用Redis的有序集合来存储任务,并根据任务的延时时间进行排序。...
首先,**Redis** 是一个开源的内存数据结构存储系统,常用于数据库、缓存和消息代理。在Node.js应用中,Redis提供了高速的数据读写能力,对于需要快速响应的场景,如实时聊天、计数器或短暂存储中间结果,是理想的...