ActiveMQ
文章平均质量分 66
bupt_01
北京邮电大学程序猿、后端开发攻城狮
展开
-
ActiveMQ(十):高级特性
1.异步投递1.1是什么ActiveMQ支持同步、异步两种模式将消息发送到broker,模式的选择对于发送的延时有着巨大的影响,使用异步可以显著的提高发送性能。ActiveMQ默认使用的是异步发送的模式,除非明确指定使用同步发送的方式或者是在未使用事物的前提下发送持久化的消息。如果没有使用事务且发送的是持久化的消息,每一次发送都会是同步发送的且会阻塞producer直到broker返回一个确认,表示已经被安全的持久化到硬盘。确认机制提供了消息安全的保障,但是同时会阻塞客户端带来很大的延时。很多高性原创 2021-01-30 21:46:15 · 177 阅读 · 0 评论 -
ActiveMQ(九):消息存储与可持久化
1.简介1.1此处持久化和之前的持久化的区别MQ高可用:事务、可持久、签收,是属于MQ自身特性,自带的。这里的持久化是外力,是外部插件。之前讲的持久化是MQ的外在表现,现在讲的的持久是是底层实现。1.2持久化是什么?持久化是什么?一句话就是:ActiveMQ宕机了,消息不会丢失的机制。说明:为了避免意外宕机以后丢失信息,需要做到重启后可以恢复消息队列,消息系统一半都会采用持久化机制。ActiveMQ的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB,无论使用哪种持久化方式,消息的存原创 2021-01-29 21:19:54 · 283 阅读 · 0 评论 -
ActiveMQ(八):ActiveMQ的传输协议
1.简介ActiveMQ支持的client-broker通讯协议有:TCP、NIO、UDP、SSL、Http(s)、VM。其中配置Transport Connector的文件在ActiveMQ安装目录的conf/activemq.xml中的标签之内。<transportConnectors><transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireF原创 2021-01-25 21:20:37 · 308 阅读 · 0 评论 -
ActiveMQ(七):ActiveMQ中的broker、Springboot整合ActiveMQ
1.ActiveMQ中的broker1.1是什么相当于一个ActiveMQ服务器实例。说白了,Broker其实就是实现了用代码的形式启动ActiveMQ将MQ嵌入到Java代码中,以便随时用随时启动,在用的时候再去启动这样能节省了资源,也保证了可用性。这种方式,我们实际开发中很少采用,因为他缺少太多了东西,如:日志,数据存储等等。1.2启动broker时指定配置文件启动broker时指定配置文件,可以帮助我们在一台服务器上启动多个broker。实际工作中一般一台服务器只启动一个broker。1.3原创 2021-01-22 21:32:53 · 1615 阅读 · 2 评论 -
ActiveMQ(六):点对点模式和订阅模式的总结
1.点对点模式点对点模型是基于队列的,生产者发消息到队列,消费者从队列接收消息,队列的存在使得消息的异步传输成为可能。和我们平时给朋友发送短信类似。如果在Session关闭时有部分消息己被收到但还没有被签收(acknowledged),那当消费者下次连接到相同的队列时,这些消息还会被再次接收队列可以长久地保存消息直到消费者收到消息。消费者不需要因为担心消息会丢失而时刻和队列保持激活的连接状态,充分体现了异步传输模式的优势2.发布订阅者模式(1) JMS的发布订阅总结JMS Pub/Sub 模型定原创 2021-01-20 17:01:22 · 626 阅读 · 0 评论 -
ActiveMQ(五):持久化、事务、签收机制
1.持久化持久化:保证消息只被传送一次和成功使用一次。在持久性消息传送至目标时,消息服务将其放入持久性数据存储。如果消息服务由于某种原因导致失败,它可以恢复此消息并将此消息传送至相应的消费者。虽然这样增加了消息传送的开销,但却增加了可靠性。1.1queue持久与非持久queue非持久,当服务器宕机,消息不存在(消息丢失了)。即便是非持久,消费者在不在线的话,消息也不会丢失,等待消费者在线,还是能够收到消息的。queue持久化,当服务器宕机,消息依然存在。queue消息默认是持久化的。持久化消息,保证原创 2021-01-20 16:55:50 · 346 阅读 · 0 评论 -
ActiveMQ(四):JMS规范
1.JMS是什么JMS(Java Message Service):Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准协议和消息服务提供了一组通用接口,包括创建、发送、读取消息等,用于支持Java应用程序开发。在JavaEE中,当两个应用程序使用JMS进行通信时,它们之间不是直接相连的,而是通过一个共同的消息收发服务组件关联起来以达到解耦/异步削峰的效果。2.消息头JMS的消息头有以下属性:JMSDestination:消息目的地JMSDeliveryMode:消息持久化原创 2021-01-19 19:34:05 · 231 阅读 · 0 评论 -
ActiveMQ(三):topic
1.topic介绍在发布订阅消息传递域中,目的地被称为主题(topic)发布/订阅消息传递域的特点如下:(1)生产者将消息发布到topic中,每个消息可以有多个消费者,属于1:N的关系;(2)生产者和消费者之间有时间上的相关性。订阅某一个主题的消费者只能消费自它订阅之后发布的消息。(3)生产者生产时,topic不保存消息它是无状态的不落地,假如无人订阅就去生产,那就是一条废消息,所以,一般先启动消费者再启动生产者。默认情况下如上所述,但是JMS规范允许客户创建持久订阅,这在一定程度上放松了时间上原创 2021-01-18 20:00:09 · 585 阅读 · 0 评论 -
ActiveMQ(二):JMS+入门案例(队列)
1 JMS编程规范JMS开发的基本步骤创建一个connection factory通过connection factory来创建JMS connection启动JMS connection通过connection创建JMS session创建JMS destination创建JMS producer或者创建JMS message并设置destination创建JMSconsumer或者是注册一个 JMS message listener发送或者接收JMS message()关闭所有的J原创 2021-01-16 19:01:43 · 237 阅读 · 0 评论 -
ActiveMQ(一):入门概述
1.常见的MQ种类及其对比1.1常见种类kafka:编程语言是scala,大数据常用的框架RabbitMQ:基于erlang语言,不好修改底层,不要查找问题的原因,不建议选用。RockedMQ:适用于大型项目。适用于集群。ActiveMQ1.2技术维度API的发送和接收MQ高可用性MQ的集群和容错性配置MQ的持久化延迟发送/定时投递签收机制和其他的框架的整合1.3不同的MQ对比2.MQ的产生背景微服务架构后,链式调用是我们在写程序时候的一般流程,为了完成一个整体功能原创 2021-01-16 10:59:31 · 2138 阅读 · 8 评论