您的位置:首页 > 其它

ActiceMQ原理及安装

2017-09-10 08:14 134 查看
1、为什么要用ActiveMQ

方案一:在taotao-manager中,添加商品的业务逻辑中,添加一个同步索引库的业务逻辑。

缺点:业务逻辑耦合度高,业务拆分不明确。

方案二:业务逻辑在taotao-search中实现,调用服务在taotao-manager实现。业务逻辑分开。

缺点:服务之间的耦合度变高。服务的启动有先后顺序。

方案三:使用消息队列。MQ是一个消息中间件。
      MQ是一个消息中间件,ActiveMQ、RabbitMQ、kafka

2、什么是ActiveMQ
       ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。

主要特点:
1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,WSNotification,XMPP,AMQP
2. 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)
3. 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性
4. 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
5. 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
6. 支持通过JDBC和journal提供高速的消息持久化
7. 从设计上保证了高性能的集群,客户端-服务器,点对点
8. 支持Ajax
9. 支持与Axis的整合
10. 可以很容易得调用内嵌JMS provider,进行测试

3、ActiveMQ消息形式

对于消息的传递有两种类型:

一种是点对点的,即一个生产者和一个消费者一一对应;

另一种是发布/订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进行接收。

JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。

StreamMessage -- Java原始值的数据流

MapMessage--一套名称-值对

TextMessage--一个字符串对象

ObjectMessage--一个序列化的 Java对象

BytesMessage--一个字节的数据流

4、ActiveMQ安装

1、需要jdk

2、安装在Linux环境

第一步: 把ActiveMQ 的压缩包上传到Linux系统。

第二步:解压缩。

第三步:启动。

使用bin目录下的activemq命令启动:

[root@localhost bin]# ./activemq start

关闭:

[root@localhost bin]# ./activemq stop

查看状态:

[root@localhost bin]# ./activemq status

 

注意:如果ActiveMQ整合spring使用不要使用activemq-all-5.12.0.jar包。建议使用5.11.2

 
进入管理后台:

http://192.168.25.168:8161/admin

用户名:admin

密码:admin





503错误解决:

1、查看机器名

[root@itcast168 bin]# cat/etc/sysconfig/network

NETWORKING=yes

HOSTNAME=itcast168

2、修改host文件

[root@itcast168 bin]# cat /etc/hosts

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4itcast168

::1        localhost localhost.localdomain localhost6 localhost6.localdomain6

[root@itcast168 bin]#

3、重启Activemq服务
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息