Sqs4J

简单消息队列服务
授权协议 未知
开发语言 Java
所属分类 服务器软件、 JMS/消息中间件
软件类型 开源软件
地区 国产
投 递 者 包建义
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

按照张宴的"基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务"协议用纯java实现.可以达到每秒并发10000个请求.使用Netty做网络IO,Berkeley DB Key/Value 数据库来做数据的持久化存储.

队列(Queue)又称先进先出表(First In First Out),即先进入队列的元素,先从队列中取出。加入元素的一头叫“队头”,取出元素的一头叫“队尾”。利用消息队列可以很好地异步处理数据传送和存储,当你频繁地向数据库中插入数据、频繁地向搜索引擎提交数据,就可采取消息队列来异步插入。另外,还可以将较慢的处理逻辑、有并发数量限制的处理逻辑,通过消息队列放在后台处理,例如FLV视频转换、发送手机短信、发送电子邮件等。

HTTPSQS 具有以下特征:

● 非常简单,基于 HTTP GET/POST 协议。PHP、Java、Perl、Shell、Python、Ruby等支持HTTP协议的编程语言均可调用。
● 非常快速,入队列、出队列速度超过10000次/秒。
● 高并发,支持5K以上的并发连接。
● 支持多队列。
● 单个队列支持的最大队列数量高达10亿条。
● 低内存消耗,海量数据存储,存储几十GB的数据只需不到100MB的物理内存缓冲区。
● 可以在不停止服务的情况下便捷地修改单个队列的最大队列数量。
● 可以实时查看队列状态(入队列位置、出队列位置、未读队列数量、最大队列数量)。
● 可以查看指定队列ID(队列点)的内容,包括未出、已出的队列内容。
● 查看队列内容时,支持多字符集编码。
● 源代码不超过800行,适合二次开发。

说明可以参见张宴的Blog: http://blog.s135.com/httpsqs/

  • 本文翻译自:What is the difference between Amazon SNS and Amazon SQS? 我不明白何时使用SNS与SQS,为什么它们总是耦合在一起? #1楼 参考:https://stackoom.com/question/vP6j/Amazon-SNS和Amazon-SQS有什么区别 #2楼 SNS is a distributed publish-subs

  • 关于本系列 自从Java™技术首次出现以来,Java开发环境发生了根本变化。 得益于成熟的开源框架和可靠的租用部署基础架构,现在可以快速,廉价地组装,测试,运行和维护Java应用程序。 在本系列中 ,Andrew Glover探索了使这种新的Java开发范例成为可能的技术和工具的范围。 消息传递队列在包括财务系统,医疗保健和旅游行业在内的一系列软件体系结构和域中很常见。 但是,面向消息的中间件(M

  • 在本教程中,您将学习如何通过一个安全的私有网络向Amazon SQS队列发送消息。这个网络由一个VPC组成,其中包含一个Amazon EC2实例。该实例通过一个接口VPC端点连接到Amazon SQS,允许您连接到Amazon EC2实例并向Amazon SQS队列发送消息,即使该网络与公共互联网断开连接。欲了解更多信息,请参阅Amazon SQS的Amazon虚拟私有云端点。 第1步:创建一个亚

  • aws sqs Amazon WEB服务为我们提供了SQS消息传递服务。 sqs的java sdk与JMS兼容。 因此,可以将SQS与spring提供的JMS集成框架集成在一起,而不是将SQS用作简单的spring bean。 我将使用spring-boot和gradle。 gradle文件: group 'com.gkatzioura.sqstesting' version '1.0-SNAPS

  • aws sqs 在我之前的文章中,我展示了一个简单的示例,该示例如何将AWS SQS与Spring Framework结合使用以将消息放入队列并从队列中读取消息。 在本文中,我将更进一步,并使用Spring创建一个“消息驱动的Bean”,以便对放入队列中的每个消息都进行“自动”处理。 AWS在其文档页面上将其称为异步方式。 要做到这一点,我将在Spring中定义一个MessageListener并

  • Amazon WEB服务为我们提供了SQS消息传递服务。 sqs的java sdk与JMS兼容。 因此,可以将SQS与spring提供的JMS集成框架集成在一起,而不是将SQS用作简单的spring bean。 我将使用spring-boot和gradle。 gradle文件: group 'com.gkatzioura.sqstesting' version '1.0-SNAPSHOT' bu

  • 嗨我在我的春季启动项目中使用SQS,我正尝试发送ByteMessage队列。在侦听器端,我试图将消息转换为byteMessage,但它不工作,我得到异常 org.springframework.jms.listener.adapter.ListenerExecutionFailedException: Listener method 'public void com.sterling.ven do

  • Java Generate/Merge Files(4)Spring and AWS SQS Dependencies <!-- AWS Connections --> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artifactId> <version>1.11.113</version>

  • 在我之前的文章中,我展示了一个简单的示例,该示例如何将AWS SQS与Spring Framework结合使用以将消息放入队列中并从队列中读取消息。 在本文中,我将更进一步,并使用Spring创建一个“消息驱动的Bean”,以便对放入队列中的每个消息都进行“自动”处理。 AWS在其文档页面上将其称为异步方式。 要做到这一点,我将在Spring中定义一个MessageListener并将其配置为描述

  • NIO and SQS(2)Connect with SQS and SOLR Major Class ExecutorApp.java package com.sillycat.jobssolrconsumer; import java.util.List; import java.util.Map; import java.util.concurrent.CompletableFuture;

  • 由于数据量小,以及我目前无法处理引入“unk”值导致准确率较高的情况,所以还需要进行优化,目前先用这个代码,等我优化好后重新上传,主要分为三步,第一数据的预处理,第二模型的构建,第三测试集处理 第一步分为: 构建数据,需要构建enc_input,dec_output, dec_input 结巴分类以及去掉停用词 给enc_input输入值添加一个结束状态,给dec输入状态添加一个开始状态,dec输

 相关资料
  • 主要内容:1 什么是MQ,2 为什么要用 MQ (作用、功能),3 MQ 的分类,4 MQ 的选择1 什么是MQ MQ(message queue),从字面意思来看,本质是一个队列,FIFO 先入先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。 在互联网架构中,MQ 是一种非常常见的上下游 “逻辑解耦 + 物理解耦” 的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ ,不用依赖其他服务。 2 为什么要用 MQ (作用、功能)

  • 为什么已经拥有了共享内存时需要消息队列呢? 这将是多种原因,让我们将其分解为多个点来简化 - 据了解,一旦消息被一个进程接收到,它将不再可用于任何其他进程。 而在共享内存中,数据可供多个进程访问。 如果想使用小信息格式进行通信。 当多个进程同时进行通信时,共享内存数据需要同步保护。 使用共享内存的写入和读取频率很高,那么实现功能将会非常复杂。 在这种情况下不值得使用。 如果所有的进程不需要访问共享

  • 一、消息模型 点对点 发布/订阅 二、使用场景 异步处理 流量削锋 应用解耦 三、可靠性 发送端的可靠性 接收端的可靠性 参考资料 一、消息模型 点对点 消息生产者向消息队列中发送了一个消息之后,只能被一个消费者消费一次。 发布/订阅 消息生产者向频道发送一个消息之后,多个消费者可以从该频道订阅到这条消息并消费。 发布与订阅模式和观察者模式有以下不同: 观察者模式中,观察者和主题都知道对方的存在;

  • 一个线程会从消息队列中收取消息,另一个线程会定时给消息队列发送普通消息和紧急消息 一个线程会从消息队列中收取消息,另一个线程会定时给消息队列发送普通消息和紧急消息 源码/* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: *

  • 消息队列接口 结构体 struct   rt_messagequeue   消息队列控制块 更多...   类型定义 typedef struct rt_messagequeue *  rt_mq_t   消息队列类型指针定义   函数 rt_err_t  rt_mq_init (rt_mq_t mq, const char *name, void *msgpool, rt_size_t msg_

  • rabbitmq 使用 定义handler实体 public class UserEvent : EventHandler { public string Name { get; set; } public string Job { get; set; } } 队列定义 [QueueConsumer(nameof(HelloEventHandler), QueueCon

  • 我有一个应用程序,在这个应用程序中,我可以在进程的一部分中以JSON格式将消息写入Azure服务总线队列。我有一个下游进程,我想将该消息从队列中弹出,将json转换为一个对象,然后处理该对象。 我没有问题将消息推送到队列上,但我还没有找到任何将消息从队列中逐一或循环弹出的示例。我在微软或Github上看到的每一个例子都是一个控制台应用程序(在网络应用程序中毫无用处),它设置了某种侦听器,可以抓取队

  • MQ 简单队列实战 [ ] 模型: >[danger] P 是我们的生产者 > 中间的框是一个队列,代表消费者保留的消息缓冲区。 > C 是我们的消费者 代码演示: 'use strict'; const Controller = require('egg').Controller; /** * 一对一队列演示 */ // 频道名称 const queueName = 'hasone' c