mq消息队列
qq_25825923
这个作者很懒,什么都没留下…
展开
-
centos7 安装 rabbitMQ
1:配置java 环境(必须配置java 环境)2:安装erlangyum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-develmkdir -p /usr/local/erlangwget http://erlang.org/do...原创 2019-07-01 18:27:49 · 114 阅读 · 0 评论 -
rabbitMQ集群
rabbitMQ有三种模式单机模式:单台模式。普通集群:普通集群模式只会在节点间同步元数据。rabbit元数据四种元数据:1)队列元数据:队列名称、属性、是否是持久化队列等。2)交换器元数据:交换器名称、属性、是否被持久化等。3)绑定元数据:队列与交换器的对应关系。4)vhost元数据:命名空间管理等。队列的完整信息(消息内容)只存在于一个节点中。如果某...原创 2019-07-16 16:25:04 · 122 阅读 · 0 评论 -
rabbitMQ confirm模式
rabbitMQ confirm 模式比事务模式效率高且支持单次批量和异步三种方式。单次模式批 // 单次模式channel.confirmSelect();channel.basicPublish(EXCHANGE_NAME, "debug", MessageProperties.PERSISTENT_TEXT_PLAIN,message.getBytes());if (...原创 2019-07-07 14:38:57 · 570 阅读 · 0 评论 -
rabbitMQ防止消息丢失
1:消息持化化:防止消息丢失要首先要保证消息的持久化 。2:生产者开启事务或者confirm模式事务: try { channel.txSelect(); //开启事务 channel.basicPublish(EXCHANGE_NAME, DIRECT, MessageProperties.PERSISTENT_T...原创 2019-07-07 14:31:30 · 342 阅读 · 0 评论 -
rabbitMQ 消息持久化
Exchange 和 Message 和 Queue 都要持久化 以保证服务器重启消息不丢失。Exchange :生产者消费者 channel.exchangeDeclare(EXCHANGE_NAME, "direct",true); Message :MessageProperties.PERSISTENT_TEXT_PLAIN 生产者 channel.basi...原创 2019-07-07 14:21:01 · 176 阅读 · 0 评论 -
rabbitMQ 四种 Exchange 模式简单使用(direct fanout topic header 实例)
关键字 Exchange :交换机 routing key:路由键 四种Exchange 模式 direct :需要生产者和消费者绑定相同的Exchange和routing key。 fanout:广播模式需要生产者消费者绑定相同的Exchange。 topic:支持模糊匹配的广播模式以点分隔,*表示一个单词,#表示任意数量(零个或多个)单词。 ...原创 2019-07-07 13:43:16 · 812 阅读 · 0 评论 -
rabbitMQ 消费者ack机制与拉取模式
1:拉取模式 public static void main(String[] args) throws Exception { Connection connection = ConnectionUtil.getConnection(); Channel channel = connection.createChannel(); //...原创 2019-07-11 20:33:12 · 2688 阅读 · 0 评论 -
rabbitMQ Shovel与Federation
Shovel shovel 是rabbitMQ的一个插件可以把源节点消息发送到目标节点。优点松耦合:Shovel 可以在不同的Broker和集群上传递消息,源节点和目标节点可以使用不同的用户和vhosts,不同的RabbitMQ版本。 支持多个版本的AMQP协议 支持广域网可以容忍网络断断续续保证可靠性。原理使用首先开启插件rabbitmq-plu...原创 2019-07-18 11:13:16 · 771 阅读 · 0 评论 -
rabbitMQ 死信队列
死信队列用于存储过期的消息和消费失败的消息。当消费者从正常队列移除后进入到死信队列。1:消息变成死信 一 般是由于以下3种情况: 1 :消息被拒绝 (Basic.Reject/Basic .Nack),井且设置 requeue 参数为 false;// 创建队列消费者final Consumer consumer = new DefaultConsumer(...原创 2019-07-10 20:48:44 · 251 阅读 · 0 评论 -
RabbitMQ 虚拟主机vhost 与权限用户
vhost 虚拟主机 是 rabbitMQ的虚拟机 相当于系统中的虚拟机RabbitMQ使用vhost隔离各个用户可以避免队列和交换器的命名冲突。RabbitMQ提供默认的虚拟主机“/”,如果不需要多个vhost可以直接使用这个默认的vhost。vhost之间是相互独立的(就像docker一样),这避免了各种命名的冲突。列举所有虚拟主机 rabbitmqctl list_vhos...原创 2019-07-14 17:28:14 · 1194 阅读 · 0 评论 -
rabbitMQ exchangeDeclare,queueDeclare,queueBind,exchangeBind
exchangeDeclare : 交换器的设置 /** * * @param exchange 交换器名称 * @param type 交换器类型:topic direct等 * @param durable 是否持久化交换器 * @param autoDelete 是否自动删除交交换器 当所有与此交换器绑...原创 2019-07-12 19:56:04 · 1628 阅读 · 0 评论 -
rabbitMQ 惰性队列
Lazy Queue惰性队列会尽可能的将消息存入磁盘中,在消费者消费到相应的消息时才会被加载到内存中。优点它可以存储更多消息支持更长队列因为消息在硬盘中。 惰性队列可以避免消息堆积导致的内存崩溃。缺点需要i/o 增加磁盘i/o。Map<String, Object> args = new HashMap<String, Object>();a...原创 2019-07-24 20:02:17 · 362 阅读 · 0 评论