- 博客(12)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 8、RabbitMQ Virtual Hosts
RabbitMQ 是多租户系统:连接、交换、队列、绑定、用户权限、保单和其他一些东西属于虚拟主机、实体的逻辑组。如果你熟悉 Apache virtual hosts 或 Nginx server blocks,它们的功能是类似的。然而,有一个重要的区别:Apache 中的虚拟主机是在配置文件中定义的;RabbitMQ 并不是这样的:它的虚拟主机是使用 rabbitmqctl 或 HTTP API ...
2018-08-16 23:02:31 1374
原创 7、Spring Integration RabbitMQ
经过前面的教程我们知道了 RabbitMQ 里面的基本的队列消息发送,以及不同类型的交换器的消息发送。今天就来分享一下 RabbitMQ 与 Spring 集成的 demo。集成里面主要分享三个类型的消息:默认交换器(也就是队列)类型的消息, 发送一个测试消息到队列queue.test.queue 里面。然后使用监听去打印获取到的消息。fanout(扇形)交换器类型的消息,也就是发布/订阅...
2018-08-14 23:42:10 2835 3
原创 6、Rabbitmq Message RPC
在 第二个教程 中,我们学习了如何使用工作队列来在多个工作者之间分配耗时的任务。但是,如果我们需要在远程计算机上运行一个函数并等待结果呢?好吧,那是另一回事了。这种模式通常称为 Remote Procedure Call (远程过程调用)或 RPC。在本教程中,我们将使用RabbitMQ来构建RPC系统:客户机和可伸缩RPC服务器。由于我们没有任何值得分发的耗时任务,我们将创建一个返回...
2018-08-12 18:47:58 432
原创 5、Rabbitmq Message Topics
在上一篇教程中,我们改进了日志系统。我们使用的是 fanout 类型的交换器,而不是使用一个只能进行虚拟广播的 fanout 交换器,并且获得了有选择性地接收日志的功能。尽管使用 direct 交换器改进了我们的系统,但是它仍然有局限性 —— 它不能基于多个标准进行路由。在我们的日志系统中,我们可能不仅要根据严重程度订阅日志,而且还要基于发出日志的源头。你可能从syslog unix工具中...
2018-08-12 14:59:20 630
原创 4、Rabbitmq Message Routing
在上一篇教程中,我们构建了一个简单的日志记录系统。我们能够向许多接收者广播日志消息。在本教程中,我们将向它添加一个特性 —— 我们将使只订阅消息的一个子集成为可能。例如,我们将能够只向日志文件发送关键的错误消息(以节省磁盘空间),同时仍然能够打印控制台上的所有日志消息。1、绑定在前面的例子中,我们已经在创建绑定了。你可能会想起这样的代码:channel.queueBind(...
2018-08-12 11:26:02 390
原创 3、Rabbitmq Publish Subscribe
在上一篇教程中,我们创建了一个工作队列。工作队列背后的假设是,每个任务都交付给一个工人。在这一部分中,我们将做一些完全不同的事情 —— 我们将向多个消费者传递一个消息。这种模式被称为“发布/订阅”。为了说明这个模式,我们将构建一个简单的日志系统。它将由两个程序组成 —— 第一个将发出日志消息,第二个将接收并打印它们。在我们的日志系统中,接收程序的每一个运行副本都将得到消息。这样我们就可以运...
2018-08-11 23:25:33 304
原创 2、Rabbitmq Work Queues
在第一个教程中,我们编写了从指定队列发送和接收消息的程序。在这个过程中,我们将创建一个工作队列,它将用于在多个工人之间分配耗时的任务。工作队列(又名:任务队列)背后的主要思想是避免立即执行资源密集型任务,并必须等待它完成。相反,我们将任务安排在以后完成。我们将一个任务封装为一条消息并将其发送到队列。在后台运行的工作进程将会弹出这些任务并最终执行任务。当你运行许多 Consumer 时,任务将在...
2018-08-11 17:44:51 561
原创 1、Rabbitmq hello world
RabbitMQ 是一个消息 broker:它接受和转发消息。你可以把它想象成一个邮局:当你把你想要发布的邮件放在一个邮筒里时,你可以确定邮差先生最终会把邮件交给你的收件人。在这个类比中,RabbitMQ 是一个邮筒、一个邮局和一个邮递员。RabbitMQ 和邮局之间的主要区别在于,它不处理纸张,而是接受、存储和转发二进制数据消息。1、概念及准备RabbitMQ 和消息传递 通常使...
2018-08-11 14:09:58 432
原创 Linux Rabbitmq 安装
rabbitmq 是基于 AMQP 协议的一种消息队列服务器。AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议。RabbitMQ 在小型创业公司和大型企业中有超过 3.5 万的生产部署,RabbitMQ 是最受欢迎的开源消息代理。RabbitMQ 是轻量级的,并且可以很容易地部署在前提和云中。它支持多个消息传递协议...
2018-08-11 12:41:48 1075
原创 Spring 依赖注入优化
Spring 最大的好处就是依赖注入,关于什么是依赖注入,在Stack Overflow上面有一个问题,如何向一个5岁的小孩解释依赖注入,其中得分最高的一个答案是: When you go and get things out of the refrigerator for yourself, you can cause problems. You might leave the door...
2018-08-05 22:38:04 752
翻译 Spring environment abstraction
Environment 是 Spring 容器中对于应用环境两个关键因素的一个抽象。它们分别是:Profiles 和 properties。Profile 是一个 bean 定义命名的逻辑分组。容器中可以配置多个 Profile,但是需要指定 profile 才会把这个 Profile 下的分组 bean 定义注册到容器中。 无论 beans 是定义在 XML 还是 注解里面都可以分配给一个 ...
2018-08-03 20:04:01 434
原创 spring import 占位符
一般情况下我们在Spring的配置文件中使用<import>标签是这样的,<import resource="other-beans.xml">。如
2018-08-01 00:18:59 1197
ibatis资源包
2014-05-28
Java程序员学习JVM的必要性
2016-06-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人