当我遇到一些提及(例如this)时出现了这个问题,关于使用诸如ZeroMQ之类的消息传递软件以及Redis,但我一直听说Redis本身使用消息传递系统.那么,如果Redis与其他消息系统一起使用,是否意味着Redis单独用作消息系统时存在一些严重的缺陷?虽然我很清楚使用Redis进行缓存和发布/订阅,但不清楚是否可以使用Redis代替成熟的消息传递系统,例如JMS、AMQP或零MQ。撇开标准合规性不谈,只关注功能/特性,Redis是否支持消息传递系统所需的所有消息传递模式/模型?我所说的消息传递模式是:RPC/请求-回复(一个example使用ActiveMQ/JMS和another使
有一个消息(文本),我肯定知道它的格式和内容。目前,已经实现了Java中的类,它解析并从文件中读取此消息。在现实世界中,这条消息将来自消息队列。现在我应该在本地PC上模拟、模拟或生成消息队列以进行测试。Java规范(javajms):JMSprovider:AmessagingsystemthatimplementstheJMSspecification.JMSclients:Javaapplicationsthatsendandreceivemessages.Messages:ObjectsthatareusedtocommunicateinformationbetweenJMScl
有一个消息(文本),我肯定知道它的格式和内容。目前,已经实现了Java中的类,它解析并从文件中读取此消息。在现实世界中,这条消息将来自消息队列。现在我应该在本地PC上模拟、模拟或生成消息队列以进行测试。Java规范(javajms):JMSprovider:AmessagingsystemthatimplementstheJMSspecification.JMSclients:Javaapplicationsthatsendandreceivemessages.Messages:ObjectsthatareusedtocommunicateinformationbetweenJMScl
我有一个JMS客户端,它正在生成消息并通过JMS队列发送给它的唯一消费者。我想要的是不止一个消费者收到这些消息。我首先想到的是将队列转换为主题,以便当前和新的消费者可以订阅并将相同的消息传递给他们。这显然将涉及在生产者和消费者方面修改当前客户端代码。我还想看看其他选项,例如创建第二个队列,这样我就不必修改现有的消费者。我相信这种方法有一些优点,比如(如果我错了,请纠正我)平衡两个不同队列而不是一个队列之间的负载,这可能会对性能产生积极影响。我想就您可能会看到的这些选项和缺点/优点获得建议。非常感谢任何反馈。 最佳答案 正如你所说,你
我有一个JMS客户端,它正在生成消息并通过JMS队列发送给它的唯一消费者。我想要的是不止一个消费者收到这些消息。我首先想到的是将队列转换为主题,以便当前和新的消费者可以订阅并将相同的消息传递给他们。这显然将涉及在生产者和消费者方面修改当前客户端代码。我还想看看其他选项,例如创建第二个队列,这样我就不必修改现有的消费者。我相信这种方法有一些优点,比如(如果我错了,请纠正我)平衡两个不同队列而不是一个队列之间的负载,这可能会对性能产生积极影响。我想就您可能会看到的这些选项和缺点/优点获得建议。非常感谢任何反馈。 最佳答案 正如你所说,你
如果我们通过“临时队列”使用JMS请求/回复机制,那么该代码是否具有可扩展性?到目前为止,我们不知道我们是否会支持每秒100个请求,还是每秒1000个请求。下面的代码是我正在考虑实现的。它以“同步”方式使用JMS。关键部分是创建“消费者”以指向为此session创建的“临时队列”的位置。我只是不知道使用这种临时队列是否是一种可扩展的设计。destination=session.createQueue("queue:///Q1");producer=session.createProducer(destination);tempDestination=session.createTemp
如果我们通过“临时队列”使用JMS请求/回复机制,那么该代码是否具有可扩展性?到目前为止,我们不知道我们是否会支持每秒100个请求,还是每秒1000个请求。下面的代码是我正在考虑实现的。它以“同步”方式使用JMS。关键部分是创建“消费者”以指向为此session创建的“临时队列”的位置。我只是不知道使用这种临时队列是否是一种可扩展的设计。destination=session.createQueue("queue:///Q1");producer=session.createProducer(destination);tempDestination=session.createTemp
我想知道JMSAPI是否使用任何协议(protocol)来传输消息,或者是否使用自己的协议(protocol)。如果是前者,是哪种协议(protocol)?我在网上阅读了很多文章,但我找不到答案。 最佳答案 标准的JMSAPI只是一组接口(interface);JMS提供者(例如WebSphereMQ)为这些接口(interface)提供自己的实现。对于所有JMS实现,唯一可以肯定的是它们都遵循JMSAPI;除此之外,JMS实现可以使用任何协议(protocol)来履行JMSAPI契约(Contract)。现在,当您特别询问“协议(
我想知道JMSAPI是否使用任何协议(protocol)来传输消息,或者是否使用自己的协议(protocol)。如果是前者,是哪种协议(protocol)?我在网上阅读了很多文章,但我找不到答案。 最佳答案 标准的JMSAPI只是一组接口(interface);JMS提供者(例如WebSphereMQ)为这些接口(interface)提供自己的实现。对于所有JMS实现,唯一可以肯定的是它们都遵循JMSAPI;除此之外,JMS实现可以使用任何协议(protocol)来履行JMSAPI契约(Contract)。现在,当您特别询问“协议(
我正在寻找一种小型但足够高效的轻量级JMS代理解决方案,它没有依赖关系或依赖最少。我的消息传递代码应该在有很多我无法控制的依赖项的环境中运行。因此,将ActiveMQ解决方案与我的自定义类一起部署会很荒谬。 最佳答案 目前我正在调查FFMQ解决方案。它是开源的(GNULGPL许可),只有4个依赖项(commons-logging、log4j、jms和jmx),并且已经足够成熟,可以实现我的目标。 关于java-轻量级JMS代理,我们在StackOverflow上找到一个类似的问题: