首先说一点,企业中最常用的实际上既不是RocketMQ,也不是Kafka,而是RabbitMQ。RocketMQ很强大,但主要是阿里推广自己的云产品而开源出来的一款消息队列,其实中小企业用RocketMQ的没有想象中那么多。
RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用。本章主要讲述的是RabitMQ 的入门知识,首先介绍了生产者、消费者、队列、 交换器、 路由键. 绑定、连接和信道等基本术语,还介绍了交换器的类型: fanout. direct, topic和headers.之后通过介绍RabbiMQ的运转流程来加深对基本术语的理解。
MQ,中文意思是消息队列,字面来看就是存放消息的队列,也就是事件驱动架构中的Broker。使用JSON序列化,我们可以在父工程导入,也可以在两个子工程中都导入:1.在消息发送方Publisher 编写配置类,也可不写配置类,写在启动类中 :步骤一:先导入依赖,可以导入父工程中,也可以在提供者的工程中导入,声明在父工程最好,因为消息接收服务也需要导入依赖。
一个8年工作经验的小伙伴,被问到这样一个问题,说如何保证RabbitMQ的高可用。关于这个问题呢,这位小伙伴倒是有个实操经验,就是不知道如何组织语言。所以,当时面试结果不太理想。今天,我给大家分享一下我的理解。
前提:RabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列服务器,Rabbit MQ 是建立在Erlang OTP平台上。
在go-micro中异步消息的收发是通过Broker这个组件来完成的,底层实现有RabbitMQ、Kafka、Redis等等很多种方式,这篇文章主要介绍go-micro使用RabbitMQ收发数据的方法和原理。