RabbitMQ 实战入门-04-路由
Routing
在前面的教程中,我们构建了一个简单的日志系统。我们能够向许多接收器广播日志消息。
在本教程中,我们将为它添加一个特性——我们将使订阅消息的一个子集成为可能。
例如,我们将能够仅将关键错误消息直接指向日志文件(以节省磁盘空间),同时仍然能够在控制台打印所有日志消息。
Bindings
前面的例子绑定如下:
channel.queueBind(queueName, E...
2018-09-17 05:43:16 |
MQ
RabbitMQ 实战入门-03-发布/订阅模式
Publish/Subscribe
在前面的教程中,我们创建了一个工作队列。工作队列后面的假设是,每个任务只交付给一个工作者。在这一部分中,我们将做一些完全不同的事情——我们将向多个消费者传递消息。这种模式称为“发布/订阅”。
为了说明这个模式,我们将构建一个简单的日志系统。它将由两个程序组成——第一个程序将发出日志消息,第二个程序将接收并打印它们。
在我们的日志系统中,接收程序的每个...
2018-09-17 05:43:16 |
MQ
RabbitMQ 实战入门-02-工作队列
Worker Queue
拓展阅读
竞争消费模式
工作队列
工作队列(又名:任务队列)背后的主要思想是避免立即执行占用大量资源的任务,并且必须等待它完成。相反,我们把任务安排在以后完成。我们将任务封装为消息并将其发送到队列。在后台运行的worker进程将弹出任务并最终执行作业。当您运行许多工作者时,任务将在他们之间共享。
这个概念在web应用程序中尤其有用,在web应用程序中,...
2018-09-17 05:43:16 |
MQ
RabbitMQ 实战入门-01-Hello World
准备工作
测试环境
jdk 1.8
mac 系统
前期准备
保证 maven 正确配置。
保证 rabbitmq 服务已经启动。
基本元素介绍
生产者
生产就是发送。发送消息的程序是生产者。
队列
队列是位于RabbitMQ内的邮箱的名称。
尽管消息流经RabbitMQ和您的应用程序,但它们只能存储在队列中。
队列只受主机的内存和磁盘限制,它本质上是一个大的消息缓冲...
2018-09-17 05:43:16 |
MQ
Spring AMQP
Spring AMQP
Spring AMQP项目将核心Spring概念应用于基于AMQP的消息传递解决方案的开发。
它提供了一个“模板”,作为发送和接收消息的高级抽象。
它还提供了对带有“侦听器容器”的消息驱动pojo的支持。
这些库有助于管理AMQP资源,同时促进依赖注入和声明性配置的使用。在所有这些情况下,您将看到与Spring框架中的JMS支持的相似之处。
项目由两部分组成...
2018-09-17 03:54:23 |
MQ
AMQP-MQ 协议标准
AMQP
高级消息队列协议(Advanced Message Queuing Protocol) AMQP 是在应用程序或组织之间传递业务消息的开放标准。
它连接系统,向业务流程提供所需的信息,并可靠地传递实现目标的指令。
关键功能
AMQP连接在:
组织-不同组织中的应用程序
技术——不同平台上的应用程序
时间系统不需要同时...
2018-09-17 03:54:23 |
Protocol
Openmq
Openmq
Openmq is a complete JMS MOM Platform.
开放消息队列是一个完整的面向消息的中间件平台,提供高质量、企业级的消息传递。
它是JMS (Java消息服务)规范的参考实现,也是GlassFish中的JMS提供者。
快速开始
快速开始
ps: 这个项目 jar 没有开源道 maven 中央仓库。暂时不做学习。
github 项目地址
...
2018-09-16 07:01:02 |
JMS
JNDI
JNDI
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。
目录服务...
2018-09-16 05:26:47 |
Java