queue -- 14




1 2

200x200


引言2016 年的文章中,我们详细介绍过 rabbitmq,他是一种实现了 AMQP 队列协议的消息队列,具有非常强大的多种功能:rabbitmq 实战&nbs

#消息队列    #mq    #kafka    #queue   

200x200


概述rabbitmq 是目前使用最为普及的消息队列组件,基于 AMQP 的 rabbitmq 在各方面设计都比较完善,同时,它具有非常丰富的功能与特性

#技术帖    #技术分享    #rabbitmq    #消息队列   
概述java 在类库设计的过程中,对线程安全做了额外的考虑,因此诞生了丰富的线程安全容器类以及用于协调多个相互写作的线程控制流的同步工具类,特别是在 java5 和 java6 中引入了一些新模块,用来构造并发应用程序的一些常用模式 同步容器类众所周知,HashMap 和 ArrayList 等常用的容器类并不是线程安全的,但在单线程模型下,他们有着很好的执行效率早期,java 通过加锁的方式实现了两个线程安全的同步容器类:Vector 和 Hashtable我们也可以使用 java 类库中提供的 Collections 类的 synchronizedXxxx 方法来创建非线程安全容器的同步容器类如:List<Widget> widgetList = Collections.synchronizedList(new ArrayList<Widget>());  同步容器类的问题同步容器类是线程安全的,但是有些情况下需要客户端加锁来保护复合操作常见的复合操作包括:迭代(遍历容器)跳转(找到下一个元素)条件运算虽然同步容器类的所有操作都是线程安全的,但是当其他线程修
#读书笔记    #技术帖    #龙潭书斋    #sync   
概述在项目开发的过程中,遇到了一个奇怪的问题,使用原生的 com.rabbitmq.client 包操作 rabbitmq,失败率高达近 50%,超时非常严重经过仔细排查,发现是在创建 channel 的阶段耗时过长,那么,这究竟是为什么呢?经过阅读源码,我们看到 com.rabbitmq.client 的 Connection 在创建 Channel 的过程中通过 synchronized 关键字使用了锁,致使同一个 connection 上的所有线程同时只能有一个执行 channel 的创建过程,而其他线程需要阻塞等待这一过程的完成,这也就造成了超时的产生那么,如何解决这个问题呢?我们是否可以让所有的线程去共享和使用同一个 channel 呢?他们共享同一个 channel 也就不需要分别创建,因此就不会陷入对锁的争夺和等待了通过查阅官方文档,在com.rabbitmq.client Interface Channel中提到: While a Channel can be used by mu
#技术帖    #龙潭书斋    #技术分享    #rabbitmq   

200x200


概述高并发的抢购、秒杀功能是一个 web 系统面临的很大的一个挑战由于销售平台的促销活动,销售系统的 web 后台接口将承受平常几倍甚至几十倍的压力,这样,服务

#技术帖    #技术分享    #pipe    #队列   

200x200


概述上一篇日志中,我们搭建起了 rabbitmq 的集群RabbitMQ 集群搭建 本文中,我们重点来介绍一下集群的配置 rabbitmq 节点类型改

#技术帖    #龙潭书斋    #rabbitmq    #集群   

200x200


基本架构及协议分布式架构 Broker 简介AMQP 消息服务应用协议 rabbitmq 安装及使用rabbitmq 的安装和监控rabbitmq exchange 的四种模式与点

#技术帖    #龙潭书斋    #技术分享    #rabbitmq   
概述此前的博客中,我们介绍了 rabbitmq 的安装、使用,然而最重要的,rabbitmq 的配置一直都没有讲解,因为 rabbitmq 安装后会有一些自动配置,通常我们无需进行任何额外配置就可以直接使用接下来我们要进入 rabbitmq 集群的介绍中,rabbitmq 的配置是必不可少的,因此,在本文中,主要介绍一下 rabbitmq 的配置方法 rabbitmq 的配置文件rabbitmq 有三种配置方式:环境变量配置文件运行时参数 环境变量环境变量是通过 /etc/rabbitmq/rabbitmq-env.conf 进行配置的,这个文件的路径和文件名是不可以更改的,也不会自动创建,如果你需要自己配置相应环境变量,就需要手动创建它在这个文件中,你可以进行预设的几个环境变量的配置,类似:#example rabbitmq-env.conf file entries #Rename the node NODENAME=bunny@myhost #Config file location and new filename bunnies.config CONFIG_FILE=/etc/rabbitmq/testdir/bu
#技术帖    #config    #配置    #技术分享   

200x200


概述上一篇日志中,我们介绍了 rabbitmq 的 exchange 的四种模式和点对点连接、发布订阅队列的实现rabbitmq exchange 的四种模式与

#技术帖    #技术分享    #rabbitmq    #消息队列   
1 2



京ICP备15018585号