activemq

.Net平台下ActiveMQ入门实例

六眼飞鱼酱① 提交于 2019-11-27 06:31:03
1.ActiveMQ简介 先分析这么一个场景:当我们在网站上购物时,必须经过,下订单、发票创建、付款处理、订单履行、航运等。但是,当用户下单后,立即跳转到“感谢那您的订单” 页面。不仅如此,若果没有延迟,用户还会受到一封电子邮件。如果我们使用传统方式去实现,一般是对数据库操作一通,然后调用各种接口、各种服务等待各种响应,这样一来下个订单需要很久时间才能看到结果,如果某个环节出了问题,那这个订单结果一时半会是看不到了,对于现代电子商务来说,这是不能容忍的。 那么ActiveMQ久可以很好的解决这个问题:当用户下单后,有一个对ActiveMQ的调用,用来提交订单,然后系统就可以返回结果页面,而整个订单流程不会同步调用,后台JOB可以边聊天边跑。前台订单量很大的情况下每个订单也只需要调用一次,后台一下子处理不了? 慢慢来,没人逼你,订单都在ActiveMQ中排队等待呢,他们可不会烦躁。 这个场景非常适合一种缓存队列,这种队列叫消息队列,很多产品都能实现这个功能,顺便回答下一个潜在的问题:他可比数据库操作快多了。 本文就从基础开始一起学习下,本文系统运行环境:Window7 32位 2.下载ActiveMQ 官方网站下载地址: http://activemq.apache.org/ 3.运行ActiveMQ 解压缩apache-activemq-5.10.0-bin.zip

ActiveMQ的集群与高可用

匆匆过客 提交于 2019-11-27 06:30:49
一、ActiveMQ的高可用性 ActiveMQ使用master-slave模式实现高可用性,提供两种实现主从模式的配置:shared nothing、shared storage(a relational database and a shared file system) 1.shared nothing master-slave 每一个broker(包括master和slave)都有自己的消息存储区,这是最简单的高可用性实现的办法。 master复制所有的消息指令给slave,复制的动作发生在master回复client消息已接收之前。 slave broker会在启动的时候去连接master,所以理想上,master broker应该先启动,slave broker 不会打开任何transports,也就是说,slave broker不接收任何client请求和网络连接,除非master挂掉。slave通过检测它与master之间的连接失败而判定master挂掉。 shared nothing master-slave模式的处理过程:当一个生产者发送一个持久化消息到master之后,master会复制该消息给slave,再返回接收应答给生产者,生产者才能发送下一个消息。 当master broker挂掉后,slave有两个选择: 1.关掉自己,因此

ActiveMQ+ZooKeeper搭建高可用集群

情到浓时终转凉″ 提交于 2019-11-27 05:34:34
一、说明   实际的应用中,一般为了应用的高可用性,都会搭建集群环境去处理。部署多台应用,这样,即使一台有问题,其他热备应用可以立马顶上,继续提供服务。   ActiveMQ的集群部署,基于zookeeper的应用程序协调服务和levelDB的持久化方案。   本文中,基于一个系统环境,搭建伪集群模式,通过不同端口的配置,达到集群安装的效果。   基本环境:jdk-7u80-linux-x64.tar.gz、Centos 6.9、zookeeper-3.4.12.tar.gz、apache-activemq-5.9.1-bin.tar.gz、Xshell。   应用部署:zookeeper启动3个应用实例,ActiveMQ部署3套应用实例,构成最小单元的集群部署   其中zookeeper的集群搭建,参见之前文章: https://www.cnblogs.com/eric-fang/p/9283904.html 二、ActiveMQ的集群配置   ActiveMQ的主从模型,是一种高可用的解决方案,在zookeeper中注册若干的ActiveMQ Broker,其中只有一台作为主机master对外提供服务,其他作为备份slave保持待机。当master出现问题导致宕机不能正常提供服务的时候,zookeeper通过内部选举,在众多slave中推举出一台作为master继续对外提供服务

网站资源

孤街浪徒 提交于 2019-11-27 05:08:49
好的网站链接 Spring https://spring.io/ https://start.spring.io/ https://spring.io/projects/spring-boot https://springcloud.cc/spring-reference.html https://github.com/spring-projects https://spring.io/projects/spring-cloud MyBatis http://www.mybatis.org/mybatis-3/zh/index.html https://github.com/mybatis MybatisPlus https://mp.baomidou.com/ 负载均衡 https://nginx.org/ 微服务 Spring Cloud中国社区 http://springcloud.cn/ http://blog.springcloud.cn/ 消息队列 大型网站架构之分布式消息队列 http://blog.csdn.net/shaobingj126/article/details/50585035 消息队列的使用场景 https://www.zhihu.com/question/34243607/answer/127666030 浅谈异步消息队列模型 http://www

JavaScript Load Order

大城市里の小女人 提交于 2019-11-27 04:22:16
I am working with both amq.js (ActiveMQ) and Google Maps . I load my scripts in this order <head> <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> <title>AMQ & Maps Demo</title> <!-- Stylesheet --> <link rel="stylesheet" type="text/css" href="style.css"></link> <!-- Google APIs --> <script type="text/javascript" src="http://www.google.com/jsapi?key=abcdefg"></script> <!-- Active MQ --> <script type="text/javascript" src="amq/amq.js"></script> <script type="text/javascript">amq.uri='amq';</script> <!-- Application --> <script type="text/javascript" src="application.js"><

activeMQ(1)

◇◆丶佛笑我妖孽 提交于 2019-11-27 04:01:55
消息中间件 作用:解耦 削峰 异步 JMS编码总体架构: 一般代码流程 @Test public void test1(){ //创建连接工厂 ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(MQ_URL); try { Connection connection = factory.createConnection(); connection.start(); //创建会话session Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE); //创建目的地(具体是队列还是主题) Queue queue = session.createQueue("myFirstQueue"); //创建消息的生产者 MessageProducer producer = session.createProducer(queue); for (int i = 0; i < 3; i++) { //创建消息 TextMessage message = session.createTextMessage("hello--->"+i); //通过消息生产者发送消息至mq producer.send(message); }

ActiveMQ基本使用

断了今生、忘了曾经 提交于 2019-11-27 03:15:07
消息队列,目前在实际的开发项目中应用十分广泛。本文主要介绍入门级的ActiveMQ的基本使用以及相关的概念。 一、JMS   全称 Java Message Service,即Java消息服务。JMS是一套Java的面向消息中间件的API接口规范,用于在不同应用程序中异步的发送消息。JMS本身语言无关,绝大多数的消息中间件厂商都提供了对JMS的支持。基于JMS实现的消息中间件,也叫做JMS Provider。   消息服务,传递的载体自然是消息(Message)。在JMS中,消息主体可以简单分为几个类型:简单文本(TextMessage)、可序列化的对象 (ObjectMessage)、属性集合 (MapMessage)、字节流 (BytesMessage)、原始值流 (StreamMessage)。   JMS中,有一整套的名词提供,下面简单说说相关的名词以及解释:   1、Destination     目的地。JMS Provider(消息中间件)进行维护,用于对消息(Message)对象进行管理。MessageProducer需要指定Destination才能进行发送消息,MessageConsumer需要指定Destination才能进项消息的接收消费。   2、Producer     消息生产者,负责发送消息到Destination目的地

消息队列及常见消息队列介绍

孤者浪人 提交于 2019-11-27 02:50:48
消息队列及常见消息队列介绍 一、消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。 消息队列主要解决了应用耦合、异步处理、流量削锋等问题。 当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、Mysql以及phxsql也可实现消息队列的功能。 二、消息队列使用场景 消息队列在实际应用中包括如下四个场景: 应用耦合:多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败; 异步处理:多应用对消息队列中同一消息进行处理,应用间并发处理消息,相比串行处理,减少处理时间; 限流削峰:广泛应用于秒杀或抢购活动中,避免流量过大导致应用系统挂掉的情况; 消息驱动的系统:系统分为消息队列、消息生产者、消息消费者,生产者负责产生消息,消费者(可能有多个)负责对消息进行处理; 下面详细介绍上述四个场景以及消息队列如何在上述四个场景中使用: 2.1 异步处理 具体场景:用户为了使用某个应用,进行注册,系统需要发送注册邮件并验证短信。对这两个操作的处理方式有两种:串行及并行。 (1)串行方式:新注册信息生成后,先发送注册邮件

消息队列及常见消息队列介绍

纵饮孤独 提交于 2019-11-27 02:50:19
一、消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。 消息队列主要解决了应用耦合、异步处理、流量削锋等问题。 当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、Mysql以及phxsql也可实现消息队列的功能。 二、消息队列使用场景 消息队列在实际应用中包括如下四个场景: 应用耦合:多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败; 异步处理:多应用对消息队列中同一消息进行处理,应用间并发处理消息,相比串行处理,减少处理时间; 限流削峰:广泛应用于秒杀或抢购活动中,避免流量过大导致应用系统挂掉的情况; 消息驱动的系统:系统分为消息队列、消息生产者、消息消费者,生产者负责产生消息,消费者(可能有多个)负责对消息进行处理; 下面详细介绍上述四个场景以及消息队列如何在上述四个场景中使用: 2.1 异步处理 具体场景:用户为了使用某个应用,进行注册,系统需要发送注册邮件并验证短信。对这两个操作的处理方式有两种:串行及并行。 (1)串行方式:新注册信息生成后,先发送注册邮件,再发送验证短信; 在这种方式下

浅谈消息队列及常见的消息中间件

我怕爱的太早我们不能终老 提交于 2019-11-27 02:50:00
消息队列 已经逐渐成为企业应用系统 内部通信 的核心手段。它具有 低耦合 、 可靠投递 、 广播 、 流量控制 、 最终一致性 等一系列功能。 当前使用较多的 消息队列 有 RabbitMQ 、 RocketMQ 、 ActiveMQ 、 Kafka 、 ZeroMQ 、 MetaMQ 等,而部分 数据库 如 Redis 、 MySQL 以及 phxsql 也可实现消息队列的功能。 正文 1. 消息队列概述 消息队列 是指利用 高效可靠 的 消息传递机制 进行与平台无关的 数据交流 ,并基于 数据通信 来进行分布式系统的集成。 通过提供 消息传递 和 消息排队 模型,它可以在 分布式环境 下提供 应用解耦 、 弹性伸缩 、 冗余存储 、 流量削峰 、 异步通信 、 数据同步 等等功能,其作为 分布式系统架构 中的一个重要组件,有着举足轻重的地位。 2. 消息队列的特点 2.1. 采用异步处理模式 消息发送者 可以发送一个消息而无须等待响应。 消息发送者 将消息发送到一条 虚拟的通道 ( 主题 或 队列 )上, 消息接收者 则 订阅 或是 监听 该通道。一条信息可能最终转发给 一个或多个 消息接收者,这些接收者都无需对 消息发送者 做出 同步回应 。整个过程都是 异步的 。 2.2. 应用系统之间解耦合 主要体现在如下两点: 发送者和接受者不必了解对方、只需要 确认消息 ;