<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Rabbitmq on 极客老墨</title>
    <link>https://blog.hankmo.com/tags/rabbitmq/</link>
    <description>Recent content in Rabbitmq on 极客老墨</description>
    <generator>Hugo -- 0.138.0</generator>
    <language>zh-cn</language>
    <lastBuildDate>Tue, 12 Nov 2019 18:13:24 +0000</lastBuildDate>
    <atom:link href="https://blog.hankmo.com/tags/rabbitmq/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>使用Springboot开发websocket程序(四)——使用RabbitMQ作为STOMP消息代理</title>
      <link>https://blog.hankmo.com/posts/tech/springboot-websocket-chatroom-with-rabbitmq/</link>
      <pubDate>Tue, 12 Nov 2019 18:13:24 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/springboot-websocket-chatroom-with-rabbitmq/</guid>
      <description>基于内存的stomp消息代理能够满足单应用需求，引入外部stomp消息代理解决了多应用之间的websocket消息传递需求。不同的消息中间件，都会按照stomp规范定义自身的destination支持。开发者需要明白两个点：订阅者订阅了什么destination，发送者发送到什么destination，这两个地址的匹配规则是什么。</description>
    </item>
    <item>
      <title>Spring AMQP消息转换</title>
      <link>https://blog.hankmo.com/posts/tech/spring-amqp-message-convert/</link>
      <pubDate>Mon, 17 Jun 2019 17:35:15 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/spring-amqp-message-convert/</guid>
      <description>们介绍了如果使用Spring AMQP注解来实现消息发送和监听，示例都是使用的默认的消息转换器，即SimpleMessageConverter，它只能处理byte[]、String、java序列化对象(实现了Serializable接口的对象)。通常，不推荐使用Java序列化，因为它存在与Java对象强耦合、依赖java语言等缺点，Spring AMQP也提供了其他的消息转换方式，在本篇，我们将重点来看看如果将消息序列化为JSON格式。</description>
    </item>
    <item>
      <title>Spring AMQP注解的使用</title>
      <link>https://blog.hankmo.com/posts/tech/spring-amqp-guide-by-annotation/</link>
      <pubDate>Thu, 13 Jun 2019 17:15:31 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/spring-amqp-guide-by-annotation/</guid>
      <description>上一篇 Spring AMQP简介和使用，我们介绍了Spring AMQP的一些基本要素和概念，也通过一些示例代码介绍了消息的发送和接收，但是都是使用的原始编码方式来实现，并不依赖Spring环境。其实，Spring AMQP也支持使用注解的方式来进行异步接收消息，极大的简化了编码。要使用注解，首先需要在Spring应用环境中。</description>
    </item>
    <item>
      <title>Spring AMQP简介和使用</title>
      <link>https://blog.hankmo.com/posts/tech/spring-amqp-intro/</link>
      <pubDate>Wed, 05 Jun 2019 09:42:47 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/spring-amqp-intro/</guid>
      <description>Spring AMQP 是 Spring 对 AMQP 协议的封装和扩展，提供了消息发送和接收的模板。Spring AMQP由spring-amqp和spring-rabbit两个模块组成。spring-amqp模块位于org.springframework.amqp.core包，它的目标是提供不依赖于任何特定AMQP代理实现或客户端库的通用抽象；而spring-rabbit是spring-amqp通用抽象的具体实现，目前仅提供了rabbitmq的实现。</description>
    </item>
    <item>
      <title>RabbitMQ服务器管理（二）——权限管理</title>
      <link>https://blog.hankmo.com/posts/tech/rabbitmq-permission/</link>
      <pubDate>Thu, 12 Apr 2018 12:31:32 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/rabbitmq-permission/</guid>
      <description>RabbitMQ有一套独立的权限机制：配置、写、读，通过三个正则表达式来分别匹配所访问资源的这三项权限。权限的设置需要使用rabbitmqctl控制台工具来输入命令完成，基本思路是：创建虚拟机、创建用户，然后给用户授予权限。rabbitmq还支持为topic交换器设置消息权限，该权限基于消息的routing key，通过正则匹配消息的routing key来控制具体消息的发布和消费。</description>
    </item>
    <item>
      <title>RabbitMQ服务器管理（一）——ubuntu上安装MQ</title>
      <link>https://blog.hankmo.com/posts/tech/rabbitmq-ubuntu-install/</link>
      <pubDate>Thu, 12 Apr 2018 11:31:04 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/rabbitmq-ubuntu-install/</guid>
      <description>我们将在ubuntu上安装RabbitMQ，其他操作系统类似。RabbitMQ使用Erlang语言开发，需要先安装Erlang语言，erlang的安装涉及许多依赖包，不过官方已经提供了ubuntu库地址文件和依赖安装完整包，只需在ubuntu原地址列表加入官方地址并更新即可。安装完成，还涉及服务器启动、停止和状态检查，以及权限控制。</description>
    </item>
    <item>
      <title>RabbitMQ基础（七）——虚拟主机vhost</title>
      <link>https://blog.hankmo.com/posts/tech/rabbitmq-vhost/</link>
      <pubDate>Wed, 04 Apr 2018 15:46:21 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/rabbitmq-vhost/</guid>
      <description>虚拟主机是RabbitMQ的逻辑单元，有用单独的连接、队列、交换器、绑定等等信息，多个虚拟主机相互隔离、互不影响。这解决了RabbitMQ数据量庞大时的各种管理问题，可以按照业务模块分别建立不同的虚拟主机，单独为独立的业务功能服务，而不会产生诸如命名冲突等问题。</description>
    </item>
    <item>
      <title>RabbitMQ基础（六）——实现RPC</title>
      <link>https://blog.hankmo.com/posts/tech/rabbitmq-rpc/</link>
      <pubDate>Wed, 28 Mar 2018 16:18:06 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/rabbitmq-rpc/</guid>
      <description>本章简单介绍了如何使用RabbitMQ来实现RPC，关键是使用AMQP.BasicProperties定义的消息属性。1、AMQP0-9-1预定了14中消息属性，不过常用的只有几种，在java中通过AMQP.BasicProperties访问和设置；2、客户端通过消息属性的replyTo属性来设置回调队列，服务端获取并将响应消息发送到回调队列；3、客户端请求和响应的对应关系需要通过比对correlationId来实现。</description>
    </item>
    <item>
      <title>RabbitMQ基础（五）——topic交换器</title>
      <link>https://blog.hankmo.com/posts/tech/rabbitmq-topic-exchange/</link>
      <pubDate>Fri, 23 Mar 2018 16:45:21 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/rabbitmq-topic-exchange/</guid>
      <description>Topic类型的交换器，支持使用&amp;#34;*&amp;#34;和&amp;#34;#&amp;#34;通配符定义模糊bindingKey，然后按照条件进行模糊匹配。bindingKey的定义需要遵循一定的规则，长度不能超过255字节。</description>
    </item>
    <item>
      <title>RabbitMQ基础（四）——direct交换器与路由</title>
      <link>https://blog.hankmo.com/posts/tech/rabbitmq-direct-exchange/</link>
      <pubDate>Fri, 23 Mar 2018 15:28:23 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/rabbitmq-direct-exchange/</guid>
      <description>绑定队列时，可以设置bindingKey，发送消息时可以设置消息的routingKey;direct交换器，按照消息的routingKey和bindingKey进行精确匹配，完全相同才会进行转发；相同的key可以与多个队列进行绑定，每个队列都可以收到与key匹配的消息，这称为多重绑定。在本篇，我们简单了解了direct类型的交换器，它适用于需要精确匹配并转发消息的场景；在下一篇，我们将会了解topic类型的交换器，以及其作用及适用场景。</description>
    </item>
    <item>
      <title>RabbitMQ基础（三）——fanout交换器和发布/订阅</title>
      <link>https://blog.hankmo.com/posts/tech/rabbitmq-fanout-exchange/</link>
      <pubDate>Thu, 22 Mar 2018 17:03:05 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/rabbitmq-fanout-exchange/</guid>
      <description>交换器，即Exchange，交换器是消息到达的第一站，所有的消息都先发送给交换器，交换器再按照不同的规则进行消息分发。RabbitMQ中的消息传递模型的核心思想是，生产者不会直接向队列发送任何消息。实际上，生产者甚至不知道消息是否会被传递到任何队列。相反，生产者只能发送消息给交换器。交换器做的事情非常简单：一方面，它接收来自生产者的消息，另一边则将消息推送到队列中。交换器分发规则是由交换类型(exchange type)定义的。</description>
    </item>
    <item>
      <title>RabbitMQ基础（二）——工作队列Work Queues</title>
      <link>https://blog.hankmo.com/posts/tech/rabbitmq-queue/</link>
      <pubDate>Wed, 24 Jan 2018 15:24:29 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/rabbitmq-queue/</guid>
      <description>Work Queues，称为工作队列(也称Task Queues，任务队列)，其主旨在于避免立即执行资源密集型任务，并且必须等待它完成。相反，我们把任务安排在后来执行。对此，我们将任务封装为消息并将其发送到队列中。在后台运行的工作进程会获取任务并最终执行任务。当你运行许多工作进程时，任务将在他们之间共享。</description>
    </item>
    <item>
      <title>RabbitMQ基础（一）——基本概念和HelloWorld</title>
      <link>https://blog.hankmo.com/posts/tech/rabbitmq-intro/</link>
      <pubDate>Thu, 18 Jan 2018 17:52:28 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/rabbitmq-intro/</guid>
      <description>RabbitMQ是一个消息代理，是一个erlang开发的AMQP（Advanced Message Queue ）的开源实现。RabbitMQ是轻量级的，易于部署在premises和云中。它支持多种消息传递协议。RabbitMQ可以部署在分布式和联合配置中，以满足高级别、高可用性需求。其主要思想非常简单:它接受并转发消息。你可以把它想象成邮局:当你把邮件寄到邮箱时，你很确定邮差先生最终会把邮件寄给你的收件人。使用这个比喻，RabbitMQ是一个邮筒，一个邮局和一个邮差。</description>
    </item>
  </channel>
</rss>
