ActiveMq笔记3-AMQ高可用性理论】的更多相关文章

ActiveMQ的延时消息是一个让人又爱又恨的功能,具体使用可参考上篇ActiveMQ笔记(6):消息延时投递,在很多需要消息延时投递的业务场景十分有用,但是也有一个缺陷,在一些大访问量的场景,如果瞬间向MQ发送海量的延时消息,超过MQ的调度能力,就会造成很多消息到了该投递的时刻,却没有投递出去,形成积压,一直停留在ActiveMQ web控制台的Scheduled面板中. 下面的代码演示了,如何清理activemq中的延时消息(包括:全部清空及清空指定时间段的延时消息),这也是目前唯一可行的办…
单点的ActiveMQ作为企业应用无法满足高可用和集群的需求,所以ActiveMQ提供了master-slave.broker cluster等多种部署方式,但通过分析多种部署方式之后我认为需要将两种部署方式相结合才能满足我们公司分布式和高可用的需求,所以后面就重点将解如何将两种部署方式相结合. 1.Master-Slave部署方式 1)shared filesystem Master-Slave部署方式 主要是通过共享存储目录来实现master和slave的热备,所有的ActiveMQ应用都在…
利用春节假期阅读了<Getting Things Done>一书,下文整理了下阅读过程中做的读书笔记和心得. ==GTD理论== 一. 目的: 1. 收集需要处理的事情把它置于一个脱离大脑意识的.可靠地.条理分明的系统. 2. 训练自己在获取任何"输入信息"(接手任务)的前期就进行分析和决策,以确保任何时候都由一套可以执行或者重新协调的"下一步行动"计划. 二. 所面临的问题: 在多元化的价值,大量的工作中寻求工作和生活的平衡. 三. 原则:有效地处理内…
目录 · Introduction to ActiveMQ · Installing ActiveMQ · Message-oriented middleware · JMS specification · What's the Java Message Service? · JMS client · Non-JMS client · JMS producer · JSM consumer · JSM provider · JMS message · JMS domains · Administ…
为了避免意外宕机以后丢失信息,需要做到重启后可以恢复消息队列,消息系统一般都会采用持久化机制. ActiveMQ的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB, 无论使用哪种持久化方式,消息的存储逻辑都是一致的.也就是说发送者将消息发送出去后,消息中心首先将消息存储到本地数据文件.内存数据库或者远程数据库等,然后试图将消息发送给接收者,发送成功则将消息从存储中删除,失败则继续尝试.消息中心启动以后首先要检查指定的存储位置,如果有未发送成功的消息,则需要把消息发送出去. 1.Ka…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.可用性保证 引入消息队列之后该如何保证其高可用性? 持久化.事务.签收. 以及带复制的 Leavel DB + zookeeper 主从集群搭建 2.异步投递Async Sends 2.1  异步投递的定义 对于一个Slow Consumer,使用同步发送消息可能出现Producer堵塞的情况,慢消费者适合使用异步发送 如图介绍: ​ 2.2 什么是异步投递 ActiveMQ支持同步,异步两种发送…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.持久化机制 1.Activemq持久化 1.1 什么是持久化: 持久化就是高可用的机制,即使服务器宕机了,消息也不会丢失 1.2 持久化的作用 将MQ 收到的消息存储到文件.硬盘.数据库 等. 则叫MQ 的持久化,这样即使服务器宕机,消息在本地还是有,仍就可以访问到. 详情——官网 : http://activemq.apache.org/persistence 1.3 ActiveMQ 支持的消…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.部署操作 1. 部署在linux 上的acvtiveMQ 要可以通过前台windows 的页面访问,必须把linux 的IP和 windows的 IP 地址配置到同一个网关下 .这种情况一般都是修改 linux 的IP 地址,修改网卡文件对应的IP 地址 修改linux 的ip 地址: cd /etc/sysconfig/network-scripts vi ifcfg-eth0 ​ 这是修改之后…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.消息中间件的产生背景 1.前言:考虑消息中间件的使用场景? 在何种场景下需要使用消息中间件 为什么要在系统里引入消息中间件 2.根据上述问题列举:从生活Case到实际生产案例 基于微服务架构背景下:链式调用是我们在写程序时候的一般流程,为了完成一个整体功能会将其拆分成多个函数(或子模块),比如模块A调用模块B,模块B调用模块C,模块C调用模块D.但在大型分布式应用中,系统间的RPC交互繁杂,一个功…
在开发业务系统时,某些业务场景需要消息定时发送或延时发送(类似:飞信的短信定时发送需求),这时候就需要用到activemq的消息延时投递,详细的文档可参考官网说明,本文只介绍二种常用的用法: 注:本文采用spring的JmsTemplate来发送消息 步骤1.首先要修改activemq.xml配置文件,启用延时投递 <broker xmlns="http://activemq.apache.org/schema/core" ... schedulerSupport="t…