Java学习总结 2-1-2 Activemq

Apache ActiveMQ是最流行的开源消息中间件,支持多种编程语言和传输协议,如OpenWire、MQTT、AMQP等。本文介绍ActiveMQ的基本概念,包括JMS规范、消息模型、消息结构和ActiveMQ的特性。同时,讲解了ActiveMQ的安装、使用和高可用集群方案,以及其持久化机制。

ActiveMQ是什么
    Apache出品,最流行的,能力强劲的开元总线
 

    
JMS规范
    发送消息,进行异步通信,Java消息服务是一个与具体平台无关的API
    
    
    
    消息模型:
        点对点:Point-to-Ponit               Queue
        发布订阅:Publish/Subscribe /主题    Topic
    
    JMS消息结构:
        消息头--消息属性--消息体
        
        
        
    
    
ActiveMQ特性
    支持多种编程语言
    支持多种传输协议
    有多种持久化方式

ActiveMQ安装
    解压即可
    作为服务启动 -- systemctl
                        systemctl start activemq
                        systemctl stop activemq

创建ActiveMQ系统服务:


ActiveMQ使用
    maven jar包
    <groupId>org.apache.activemq</groupId>
      <artifactId>activemq-all</artifactId>
      <version>5.15.9</version>
    </dependency>
    
    
协议
    支持多种协议传输和传输方式,允许客户端使用多种协议连接
    支持的协议:OpenWire、MQTT、AUTO、AMQP、Stomp等
    支持的基础传输方式:VM、TCP、SSL、UDP、Peer、Multicast、HTTP(s)等、以及更高级的Failover、Fanout、Discovery、ZeroConf方式
    协议配置:



    
    OpenWire协议:



        
        
    
    MQTT协议:物联网使用场景较多
        IBM公司
        MQTT的结构简单,相对于其他消息协议,它更加轻量级。适合在计算能力有限、底宽带、不可靠的网络环境使用
        
        
        服务质量(QoS)
            服务质量级别是一种关于发送者和接受者之间信息投递的保证协议。MQTT中有三种QoS级别
            至多一次(0)  --  最多发送一次
            至少一次(1)  --  每次发送消息收到回执,如果没收到回执将重发,服务端可能接收多次消息
            只有一次(2)  --  在1的基础上。在保证消息发送到服务器端上并且做去重操作,性能最差
            
            为什么要有服务质量:
                QoS是MQTT的一个主要功能,他是的在不可靠的网络下进行通信变得更为简单,因为即便是在非常不可靠的网络下,
                协议也可以使掌控是否需要重发消息并保证消息到达。他也是能帮主客户端根据网络环境和程序逻辑来自由选择QoS
        
        MQTT配置:默认开启
            
            
            
            

高可用集群方案
    开启高可用集群配置:
    
    Master-Slave(主从)部署方式
        消息保存在数据库,多个ActiveMQ连接在同一个数据库 -> 故障切换
    
    
    Broker-Cluster部署方式
    
    
    Master-Slave与Broker-Cluster相结合的部署方式
    
    
    networkConnector网络连接器配置说明


持久化
    KahaDB --> 默认
    JDBC
    AMQ --> 被KaHaDB替代
    LevelDB --> 废弃
    持久化是对Queue和Topic进行的,无论使用哪种持久化方式,消息的存储逻辑是一致的


            
            
            
            
            
            
            
            
    
    

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值