Rabbitmq
文章平均质量分 74
关于Rabbitmq的基本使用
Daylight629
想要的东西都很贵,只能不断地努力奔跑
同是风华正茂,怎可甘拜下风
展开
-
分布式事务
分布式事务简述分布式事务指事务的操作位于不同的节点上,需要保证事务的AICD特性。例如在下单场景下,库存和订单如果不在同一个节点上,就涉及分布式事务。一、分布式事务的方式在分布式系统中,要实现分布式事务,无外乎那几种解决方案。1、两阶段提交(2PC) 需要数据库产商的支持, java组件有atomikos等。两阶段提交(Two-phaseImommit, 2PC),通过引入协调者(Coordinator) 来协调参与者的行为,并最终决定这些参与者是否要真正执行事务。准备阶段协调者询问原创 2021-03-21 23:07:49 · 145 阅读 · 0 评论 -
Rabbitmq集群
Rabbitmq集群默认情况下:RabbitMQ代理操作所需的所有数据/状态都将跨所有节点复制。这方面的一个例外是消息队列,默认情况下,消息队列位于一个节点上,尽管它们可以从所有节点看到和访问核心解决问题: 当集群中某一时刻master节点宕机,可以对Quene中信息,进行备份启动第一个节点RABBITMQ_NODE_PORT=5672 RABBITMQ_NODENAME=rabbit-1 rabbitmq-server start启动第二个节点注意: web管理插件端口占用,所以还要指定其原创 2021-03-21 23:07:29 · 92 阅读 · 0 评论 -
Rabbitmq的内存磁盘监控
Rabbitmq的内存磁盘监控当内存使用超过配置的阈值或者磁盘空间剩余空间对于配置的阈值时,RabbitMQ会暂时阻塞客户端的连接,并且停止接收从客户端发来的消息,以此避免服务器的崩溃,客户端与服务端的心态检测机制也会失效。如下图:当出现blocking或blocked话说明到达了同值和以及高负荷运行了。官网:https://www.rabbitmq.com/configure.htmlrabbitmqctl set_vm_memory_high_watermark <fraction&g原创 2021-03-21 23:07:05 · 587 阅读 · 0 评论 -
过期时间TTL与死信队列
过期时间TTL与死信队列一、过期时间TTL过期时间TTL表示可以对消息设置预期的时间,在这个时间内都可以被消费者接收获取;过了之后消息将自动被删除。RabbitMQ可以对消息和队列设置TTL。目前有两种方法可以设置。第一种方法是通过队列属性设置,队列中所有消息都有相同的过期 时间。第二种方法是对消息进行单独设置,每条消息TTL可以不同。如果上述两种方法同时使用,则消息的过期时间以两者之间TTL较小的那个数值为准。消息在队列的生存时间一旦超过设置的TTL值,就称为dead message被投原创 2021-03-20 22:01:27 · 291 阅读 · 0 评论 -
Rabbitmq的应用场景
Rabbitmq的应用场景一、异步处理场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式2.并行的方式串行方式: 将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。 这有一个问题是,邮件,短信并不是必须的,它只是一个通知,而这种做法让客户端等待没有必要等待的东西.并行方式:将注册信息写入数据库后,发送邮件的同时,发送短信,以上三个任务完成后,返回给客户端,并行的方式能提高处理的时间。消息队列:假设三个业务节点分别使原创 2021-03-20 21:42:01 · 203 阅读 · 0 评论 -
SpringBoot中使用RabbitMQ
SpringBoot中使用RabbitMQ一、搭建初始环境引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>配置配置文件RabbitMq的相关配置可以参考RabbitProperties类spring: rabb原创 2021-03-20 20:44:56 · 165 阅读 · 0 评论 -
RabbitMQ支持的消息模型
RabbitMQ支持的消息模型引入依赖<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.7.2</version></dependency>一、第一种模型(直连)在上图的模型中,有以下概念:P:生产者,也就是要发送消息的程序C:消原创 2021-03-20 20:24:39 · 203 阅读 · 0 评论 -
web管理界面介绍
web管理界面介绍一、 overview概览connections:无论生产者还是消费者,都需要与RabbitMQ建立连接后才可以完成消息的生产和消费,在这里可以查看连接情况channels:通道,建立连接后,会形成通道,消息的投递获取依赖通道。Exchanges:交换机,用来实现消息的路由Queues:队列,即消息队列,消息存放在队列中,等待消费,消费后被移除队列。二、Admin用户和虚拟主机管理上面的Tags选项,其实是指定用户的角色,可选的有以下几个:超级管理员(administ原创 2021-03-20 18:32:01 · 2585 阅读 · 0 评论 -
RabbitMQ入门及安装
RabbitMQ入门及安装RabbitMQ is the most widely deployed open source message broker.RabbitMQ is the most widely deployed open source message broker.With tens of thousands of users, RabbitMQ is one of the most popular open source message brokers. From T-Mobile t原创 2021-03-20 16:22:47 · 311 阅读 · 0 评论 -
消息队列的基本
消息队列的基本一、持久化简单来说就是将数据存入磁盘,而不是存在内存中随服务器重启断开而消失,使数据能够永久保存。二、常见的持久化方式三、消息的分发策略01、消息的分发策略MQ消息队列有如下几个角色1:生产者2:存储消息3:消费者那么生产者生成消息以后,MQ进行存储,消费者是如何获取消息的呢?一般获取数据的方式无外乎推(push)或者拉(pull)两种方式,典型的git就有推拉机制,我们发送的http请求就是一种典型的拉取数据库数据返回的过程。而消息队列MQ是一种推送的过程,而这些推机原创 2021-03-20 14:25:03 · 155 阅读 · 0 评论 -
消息队列协议
消息队列协议一、什么是协议我们知道消息中间件负责数据的传递,存储,和分发消费三个部分,数据的存储和分发的过程中肯定要遵循某种约定成俗的规范,你是采用底层的TCP/IP,UDP协议还是其他的自己取构建等,而这些约定成俗的规范就称之为:协议。所谓协议是指:1:计算机底层操作系统和应用程序通讯时共同遵守的一组约定,只有遵循共同的约定和规范,系统和底层操作系统之间才能相互交流。2:和一般的网络应用程序的不同它主要负责数据的接受和传递,所以性能比较的高。3:协议对数据格式和计算机之间交换数据都必须严格遵原创 2021-03-20 13:31:19 · 230 阅读 · 0 评论 -
消息中间件
消息中间件一、什么是消息中间件在实际的项目中,大部分的企业项目开发中,在早期都采用的是单体的架构模式,如下图:二、单体架构在企业开发的中,大部分的初期架构都采用的是单体架构的模式进行架构,而这种架构的典型的特点:就是把所有的业务和模块,源代码,静态资源文件等都放在一个一工程中,如果其中的一个模块升级或者迭代发生一个很小变动都会重新编译和重新部署项目。 这种的架构存在的问题就是:1:耦合度太高2:运维的成本过高3:不易维护4:服务器的成本高5:以及升级架构的复杂度也会增大这样就有后续的分原创 2021-03-20 13:04:42 · 479 阅读 · 0 评论 -
中间件技术
中间件一、什么是中间件我国企业从20世纪80年代开始就逐渐进行信息化建设,由于方法和体系的不成熟,以及企业业务和市场需求的不断变化,一个企业可能同时运行着多个不同的业务系统,这些系统可能基于不同的操作系统、不同的数据库、异构的网络环境。现在的问题是,如何把这些信息系统结合成一个有机地协同工作的整体,真正实现企业跨平台、分布式应用。中间件便是解决之道,它用自己的复杂换取了企业应用的简单。中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中原创 2021-03-19 22:59:08 · 1180 阅读 · 2 评论