MQ杂

作者: 听说昨夜星子坠落 | 来源:发表于2019-07-02 13:56 被阅读0次

异步收集:

js script—request—>后台接口—>异步写文件(id,browser…cookie)—>日志收集(多线程)—>消息中间件(kafka等)—>1.流计算(实时统计) 或 —>2.归档 离线计算—>mysql—>报表

异步处理:

串行:注册—>email—>sms—>入库    (时间长)

并行:注册—>1.email 或 —>2.sms

异步:注册—>MQ(消息中间件)—>1.email 或 2.—>sms

Order--发布—>MQ<—订阅—库存

Request--发布—>MQ<—订阅—业务逻辑

erlang:编写rabbit mq的语言,想要使用rabbit mq必须下载relang

⭐记录一个使用homebrew下载rabbit mq时遇到的问题:

brew update时提示error,解决方法是首先进入到cd /usr/local/Homebrew目录下,执行git pull origin master,之后再执行brew update && brew upgrade即可

获取MQ的连接 java代码:

1.定义一个连接工厂  ConnectionFactory

2.设置服务地址   setHost()

3.使用AMQP协议,设置端口号  setPort()

4.设置虚拟数据库setVirtualHost()

5.设置用户名

6.设置密码

7.获取连接

简单mq:

生产者—>消息中间件—>消费者

生产者发送消息:

    1.获取一个链接

    2.从连接中获取一个通道

    3.声明一个队列

    4.定义消息

    5.发布消息

    6.关闭通道和连接

消费者消费消息:

    1.获取一个链接

    2.从链接中获取一个通道

    3.声明一个队列

    4.声明一个默认的消费者  new DefaultConsumer(channel)

        重写DefaultConsumer()中的handleDelivery方法,获取body(也就是传递的消息),可以进行log输出监测

    5.创建一个基本消费动作,监听队列:channel.basicConsume(queue_name,true,consumer)

简单队列的不足:

耦合性高——生产者一一对应消费者,如果想要多个消费者消费一个队列中的消息,这时候简单队列就不能满足需求

一旦队列名变更,生产者和消费者得同时变更队列名

相关文章

  • MQ杂

    异步收集: js script—request—>后台接口—>异步写文件(id,browser…cookie)—>...

  • MQ的使用及QMQ的设计

    1. 为什么要用MQ? MQ带来了什么好处? 带来了什么坏处? 为什么要用MQ?MQ(message queue)...

  • RocketMQ整体介绍

    1. MQ介绍 1.1 什么是MQ?为什么要用MQ? MQ:MessageQueue,消息队列。队列,是一种FIF...

  • MQ

    什么是MQ?MQ全称为Message Queue, 消息队列(MQ)是应用程序“对”应用程序的通信方法。MQ:生产...

  • RocketMQ集群消息与广播消费

    如图A项目的MQ组(mq.group=A) A项目部署了两台tomcatB项目的MQ组(mq.group=B)...

  • centos7 安装rabbitMQ 踩坑

    1、安装mq,首先mq以来erlang插件,所以必须安装 erlang 插件 首先在mq官网查看mq和erlang...

  • 消息队列

    MQ的作用 消息通信MQ的基础功能即为消息通信。使用MQ的客户端可以将消息发送到MQ中,也可以从MQ中消费消息。 ...

  • spring 使用 rabbit mq

    rabbit mq 安装 brew 安装 rabbit mq后台rabbit mq后台 用户名:guest 密码...

  • Prometheus监控MQ集群

    mq 为Rabbitmq 。 下载插件:rabbitmq_exporter(集群中所有的mq node)3台mq ...

  • MQ精华液,你值得更好(MQ青春定制)

    MQ 重塑紧致轮廓,绽现纯净光彩 MQ青春定制:MQ精华+MQ波导入+SMAS剥离术 青春之力注入生命之源 在技术...

网友评论

    本文标题:MQ杂

    本文链接:https://www.haomeiwen.com/subject/kouzcctx.html