消息中间件
alwaysBrother
这个作者很懒,什么都没留下…
展开
-
activeMQ(二)--spring整合activeMQ
spring+activeMQ原创 2018-03-17 12:29:46 · 354 阅读 · 0 评论 -
ActiveMQ (一) 初试
一.什么是mq?ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。JMS的全称是Java Message Service,即Java消息服务。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用到实际的业务需求中的话我们可以在特定的时候利用生产者生成一消...原创 2018-03-13 21:25:51 · 301 阅读 · 0 评论 -
RabbitMQ文档翻译七(JAVA).发送者确认
LongEventProducer producer = new LongEventProducer(ringBuffer); ByteBuffer bb = ByteBuffer.allocate(8); for (long l = 0; true; l++) { bb.putLong(0, l); producer.onData(bb); Thread.sleep(1000); }}}### 使用Java...翻译 2020-07-02 23:13:55 · 346 阅读 · 0 评论 -
RabbitMQ文档翻译六(JAVA).远程过程调用(RPC)
import com.lmax.disruptor.dsl.Disruptor;import com.lmax.disruptor.RingBuffer;import com.lmax.disruptor.util.DaemonThreadFactory;import java.nio.ByteBuffer;public class LongEventMain{ public static void main(String[] args) throws Exception {翻译 2020-07-02 23:11:21 · 186 阅读 · 0 评论 -
RabbitMQ文档翻译五(JAVA).主题
显而易见的是,事件发布比使用简单队列更加复杂。这是由于对事件预分配的期望。它需要(在最低级别)一个两阶段的消息发布方法,即声明环缓冲区中的插槽,然后发布可用的数据。还需要将发布包装在try/finally块中。如果我们在环缓冲区中声明一个槽(调用RingBuffer.next())然后我们必须发布此序列。否则会导致Disruptor的状态破坏。具体来说,在多生产商的情况下,这将导致消费者停滞,如果不重新启动就无法恢复。因此,建议使用EventTranslator API。最后一步是把所有部分组装起来。手动翻译 2020-07-02 23:08:03 · 184 阅读 · 0 评论 -
RabbitMQ文档翻译四(JAVA).路由
这种方法的另一个优点是,转换器Translators可以被拉到一个单独的类中,并且很容易独立地进行单元测试。Disruptor提供了许多不同的接口(EventTranslator、eventtranslatoronerg、EventTranslatorTwoArg等),可以实现这些接口来提供转换器。允许将转换器表示为静态类或lambda表达式形式,原因是这两种形式可以作为参数通过对环形缓冲区的调用传递到转换器。使用旧版本API发布事件我们可以使用一种更“原始”的方法。import com.lmax.d翻译 2020-07-02 23:05:24 · 180 阅读 · 0 评论 -
RabbitMQ文档翻译三(JAVA).发布/订阅
使用转换器发布事件在Disruptor的3.0版本中,添加了一个更丰富的Lambda样式的API,来帮助开发人员将这种复杂性封装在环形缓冲区ring buffer中,因此在3.0之后,发布消息的首选方法是通过API的事件发布器/事件转换器部分。例如。import com.lmax.disruptor.RingBuffer;import com.lmax.disruptor.EventTranslatorOneArg;public class LongEventProducerWithTransla翻译 2020-07-02 23:01:56 · 187 阅读 · 0 评论 -
RabbitMQ文档翻译二(JAVA).工作队列
工作队列在第一个教程中,我们编写了从命名队列发送和接收消息的程序。在本例中,我们将创建一个工作队列,用于在多个工作人员之间分配耗时的任务。工作队列(又名:任务队列)的主要思想是避免立即执行资源密集型任务,并且必须等待任务完成。相反,我们把任务安排在以后完成。我们将任务封装为消息并将其发送到队列。在后台运行的工作进程将从队列弹出(pop操作)任务并最终执行该作业。当您运行多个worker时,任务将在他们之间共享。这个概念在web应用程序中特别有用,因为在短的HTTP请求窗口期间无法处理复杂的任务。准翻译 2020-07-02 22:57:53 · 203 阅读 · 0 评论 -
RabbitMQ文档翻译一(JAVA).Hello World!
RabbitMQ是一个消息代理:它接受和转发消息。你可以把它想象成一个邮局:当你把你想寄出的邮件放进一个邮箱里时,你可以确信邮件的收件人最终会收到邮件。类似的,RabbitMQ是一个邮箱、一个邮局和一个邮递员。RabbitMQ与邮局的主要区别在于,它不处理纸张信件,而是接受、存储和转发二进制的数据信息块。RabbitMQ和消息传递通常使用一些行业术语生产只意味着发送。发送消息的程序是生产者:queue是RabbitMQ中的邮箱的名称。尽管消息流经RabbitMQ和您的应用程序,但它们只能存翻译 2020-07-02 22:52:32 · 267 阅读 · 0 评论 -
MQClientException: No route info of this topic, ***
MQClientException: No route info of this topic, TOPIC_INVOICE_SYNC_DEV这是因为accessKey,accessSecret 不匹配MQClientException: CODE: 17 DESC: No topic route info in name server for the topic: TOPIC_INVOI...原创 2018-09-02 10:56:10 · 11416 阅读 · 3 评论