EN-WAVE通讯记录
perl是用来干嘛的
背景知识:
ActiveMQ是一个易于使用的消息中间件。
消息中间件
我们简单的介绍一下消息中间件,对它有一个基本认识就好,消息中间件(MOM:Message Orient middleware)。
消息中间件有很多的用途和优点:
1. 将数据从一个应用程序传送到另一个应用程序,或者从软件的一个模块传送到另外一个模块;
2. 负责建立网络通信的通道,进行数据的可靠传送。
3. 保证数据不重发,不丢失
4. 能够实现跨平台操作,能够为不同操作系统上的软件集成技工数据传送服务
MQ
首先简单的介绍一下MQ,MQ英文名MessageQueue,中文名也就是大家用的消息队列,干嘛用的呢,说白了就是一个消息的接受和转发的容器,可用于消息推送。
下面进入我们今天的主题,为大家介绍ActiveMQ:
ActiveMQ
简要概述ActiveMQ
ActiveMQ是由Apache出品的,一款最流行的,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,它非常快速,支持多种语言的客户端和协议,而且可以非常容易的嵌入到企业的应用环境中,并有许多高级功能。
什么情况下使用ActiveMQ?
多个项目之间集成
(1) 跨平台
(2) 多语言
(3) 多项目
降低系统间模块的耦合度,解耦
(1) 软件扩展性
系统前后端隔离
(1) 前后端隔离,屏蔽高安全区
多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)
对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.
0的特性
通过了常见J2EE服务器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
支持通过JDBC和journal提供高速的消息持久化
从设计上保证了高性能的集,客户端-服务器,点对点
支持Ajax
支持与Axis的整合
可以很容易得调用内嵌JMS provider,进行测试
ActiveMQ特性列表
ActiveMQ默认使用的TCP连接端口是61616
应用场景:
消息队列在大型电子商务类网站,如京东、淘宝、去哪儿等网站有这深入的应用,队列的主要作用是消除高并发访问高峰,加快网站的响应速度。在不使用消息队列的情况下,用户的请求数据直接写入数据库,在高并发的情况下,会对数据库造成巨大的压力,同时也使得系统响应延迟加剧。在使用队列后,用户的请求发给队列后立即返回(当然不能直接给用户提示订单提交成功,京东上提示:您“您提交了订单,请等待系统确认”),再由消息队列的消费者进程从消息队列中获取数据,异步写入数据库。由于消息队列的服务处理速度远快于数据库,因此用户的响应延迟可得到有效改善。
操作步骤
1.下载版本
ActiveMQ-cpp-2.2.6
apr-1.6.2
apr-iconv-1.2.1
apr-util-1.6.0
2.路径为D:\GCN\MQClient\Activemq-cpp\tags
去掉依赖库的版本号
apr-util  ,apr-1.6.2 ,apr-iconv
3.打开D:\GCN\MQClient\Activemq-cpp\tags\activemq-cpp-2.2.6\vs2005-build
编译依赖关系为apr-util    -》  apr-iconv    -》  apr
注意事项
编译到libaprutil的时候,Debug依赖于expat.lib, release依赖于xml.lib.
Debug:
E:\GCN\20170831SVN_MAIN\trunk\Product\MQClient\apr-util\xml\expat\lib
Release:
编译vs2005-activemq
    设置好依赖,附加库头文件,附加库lib路径。
编译vs2005-activemq-example
配置文件:
activemq.cfg
> 全局配置参数>#
host_id=35
node_id=3236
cmdline = 1
Consumer  = 1(生产者和消费者切换)
#配置重启
#reset_time = 0,20:00:00
reset_time = 06:15:00
sync_time = 0
sync_interval = 60
accept_sync_time = 0
#MQ配置
mq_url      = tcp://10.1.6.2:61616
mq_user      = jlt_mq
mq_pwd      = jlt_mq123
mq_topic    = jlt.pic.queueName
#mq_topic    = QUOTATION.WJF.TEST
#读共享队列
mem_que_name = QUEUE_MQ_SERVER
other_inst_multi = 1000
forex_inst_multi = 10000
#写共享队列
XQUE_NUM = 2
XQUE1.XQUE_NAME = MQ_QUOTATION3
XQUE1.WAIT_PERMIT = 10000
XQUE1.BUFFER_PERMIT = 10000
XQUE1.MAIN = 1

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论