RabbitMQ 入门 (Go) - 6. 数据持久化(上)

从本节开始,我介绍一下如何将相关数据持久化到数据库,也就是上图中蓝色的部分。 目前的问题 我先运行 6 个传感器和2 个协调器,这里我使用了批处理文件: 运行后,看一下 RabbitMQ 的管理控制台: 注意上面前面几个 Queue,这些 Queue 就是我们让传感器和协调器监听那两个 Fanout ... »

RabbitMQ 入门 (Go) - 5. 使用 Fanout Exchange 做服务发现(下)

到目前为止,我一直专注于如何让消息进出消息代理,也就是RabbitMQ。 实际上,我们可以继续使用 RabbitMQ 和它的 Exchanges 来连接这个应用程序的其他部分,但是我想探索一个稍微不同的模型:我想使用协调器来跟踪哪些类型的消费者得到消息通知。 这样的话,我断开了传感器数据生成器和数据 ... »

RabbitMQ 入门 (Go) - 4. 使用 Fanout Exchange 做服务发现(上)

到目前为止,我们项目的结果大致如下: 传感器生成的模拟数据(包含传感器名称、数据、时间戳)是通过传感器在运行时动态创建的 Queue 来发送的。这些 Queue 很难直接被发现。 为了解决这个问题,我创建了另一个消息,它包含各传感器的 Queue 的路由 key,这个消息是在一个“众所周知”的 Qu ... »

RabbitMQ 入门 (Go) - 1. 简介和安装

Message Broker(消息代理) 维基百科对 Message Broker 的定义是:Message broker 是一种中介程序模块,它把消息从发送方的正式消息传递协议转化为接收方的正式消息传递协议。 这个定义略繁琐,下面看看 RabbitMQ 官网对 Message broker 的定义 ... »

图文详解:阿里宠儿【小兔】RabbitMQ的养成攻略

今天给大家带来的的是关于小兔RabbitMQ的养成攻略,RabbitMQ 中的 Rabbit 是兔子的意思,就是形容跑的和兔子一样快。是一款轻量级的,高可用的消息队列。是不是都对小兔很喜欢呢,下面跟着小羽一起来看看这只小兔是如何养成的吧。 ... »

RabbitMQ基础教程

RabbitMQ相关概念介绍 RabbitMQ整体上是一个生产者与消费者模型,主要负责接收、存储和转发消息。可以把消息传递的过程想象成:当你将一个包裹送到邮局,邮局会暂存并最终将邮件通过邮递员送到收件人的手上,RabbitMQ就好比邮局、邮箱和邮递员组成的一个系统。从计算机术语层面来说,Rabbit ... »

昨晚12点,女朋友突然问我:你会RabbitMQ吗?我竟然愣住了。

01为什么要用消息队列? 1.1 同步调用和异步调用 在说起消息队列之前,必须要先说一下同步调用和异步调用。 同步调用:A服务去调用B服务,需要一直等着B服务,直到B服务执行完毕并把执行结果返回给A之后,A才能继续往下执行。 举个例子:过年回到家,老妈对你说:“你也不小了,该谈女朋友了,隔壁王阿姨给 ... »

如何用RabbitMQ实现延迟队列

前言 在 jdk 的 juc 工具包中,提供了一种延迟队列 DelayQueue。延迟队列用处非常广泛,比如我们最常见的场景就是在网购或者外卖平台中发起一个订单,如果不付款,一般 15 分钟后就会被关闭,这个直接用定时任务是不好实现的,因为每个用户下单的时间并不确定,所以这时候就需要用到延迟队列。 ... »

RabbitMq消费者在初始配置之后进行数据消费

RabbitMq消费者在初始配置之后进行数据消费 问题背景 在写一个消费rabbitmq消息的程序是,发现了一个问题,消费者的业务逻辑里面依赖这一些配置信息,但是当项目启动时,如果队列里面有积压数据的时候,就会出现配置信息还没有加载完成就开始进行数据消费了,这样就会出现业务逻辑混乱的情况,所以现在想 ... »

SpringBoot Logback无法获取配置中心属性

SpringBoot Logback无法获取配置中心属性 前言 最近在做项目中,需要把项目中的日志信息通过RabbitMQ将规定格式的消息发送到消息队列中,然后ELK系统通过消息队列拿日志并且保存起来,在日志的配置文件(logback-spring.xml)中我们需要加入RabbitMQ的配置信息, ... »

Rabbitmq可靠消息投递,消息确认机制

前言 我们知道,消息从发送到签收的整个过程是 Producer-->Broker/Exchange-->Broker/Queue-->Consumer,因此如果只是要保证消息的可靠投递,我们需要考虑的仅是前两个阶段,因为消息只要成功到达队列,就算投递成功。 比如投递消息时指定的Exchange不存在 ... »

Centos7 安装RabbitMQ

Centos7 安装RabbitMQ RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用Erlang语言开发。RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适 ... »

CAP-微服务间通信实践

微服务间通信常见的两种方式 由于微服务架构慢慢被更多人使用后,迎面而来的问题是如何做好微服务间通信的方案。我们先分析下目前最常用的两种服务间通信方案。 gRPC(rpc远程调用) gRPC-微服务间通信实践 场景:A服务主动发起请求到B服务,同步方式 范围:只在微服务间通信应用 EventBus(基 ... »

RabbitMQ 入门之基础概念

什么是消息队列(MQ) 消息是在不同应用间传递的数据。这里的消息可以非常简单,比如只包含字符串,也可以非常复杂,包含多个嵌套的对象。消息队列(Message Queue)简单来说就是一种应用程序间的通讯方式,消息发送后立即返回,然后由消息系统保证消息的可靠性传输,消息生产者只需要把消息发到 MQ 中 ... »

消息队列-一篇读懂rabbitmq(生命周期,confirm模式,延迟队列,集群)

什么是消息队列? 就是生产者生产一条消息,发送到这个rabbitmq,消费者连接rabbitmq并且进行消费,生产者和消费者并需要知道对方是如何工作的,从而实现程序之间的解耦,异步和削峰,这也就是消息队列的作用。 使用的场景也有很多,比如用户支付购买之后的发送短信,增加用户积分等等,只要能将业务逻辑 ... »

rabbitmq部署及配置与验证

朋友项目需要弄个测试环境,稍微帮忙了下,系统不复杂,但是需要自己安装mysql、Reids、Es、RabbitMq等,Mq主要用在同步用户信息与发送站内消息和短信上,RabbitMq以前没记录,刚好又重新走了一遍,记录下部署、测试、常见问题,有需要的朋友,拿走不谢! ... »