一、 ActiveMQ
1. 什么是ActiveMQ?
· 消息中间件。可以在分布式系统的不同服务之间进行消息的发送和接收
2. ActiveMQ的作用以及原理?
ActiveMQ的作用就是实现跨网络的习性与系统剑通信,可以将业务解耦,提供异步消息支持,增加系统并发量.比如原本执行一个操作需要1s,那么用户请求后必须等待1s之后才会得到响应,引入MQ之后,我们可以仅仅只做简单的校验流程,确认该操作可以执行时,将消耗的操作使用异步消息通知,并直接返回用户操作成功,而专门处理该业务的服务者监听该消息,一旦有消息之后就开始处理,止痒用户只需要等待10ms
原理就是生产者将消息发送给ActiveMQ服务端,服务端会根据该消息对应的目标模型(p2p/topic)将消息发送给可以接受的消费者,期间默认会将数据进行持久化,并等待消费者签收消息后才会将消息删除,避免消息丢失
3. ActiveMQ的几种通信方式?
点对点模式:一个生产者发送一条消息只有一个消费者可以接受到
订阅模式:一个生产者发送的消息所有订阅者都可以接受到,这种情况消息中间件不会保存信息
4. 什么是JMS?
![963b1c547140b1b21fa63014bb749ba6.png](https://img-blog.csdnimg.cn/img_convert/963b1c547140b1b21fa63014bb749ba6.png)
5. ActiveMQ有哪些目录?
activemq-all-5.12.1.jar:activemq所有jar
bin:启动命令文件夹,环境变量
conf:配置文件
data:数据目录,包含activemq的进程文件,数据文件,及日志文件
docs:用户使用帮助相关文件
examples:配置文件,及java操作ActiveMQ相关实例
lib:activemq jar包
webapps:activemq控制台应用目录
webapps-demo:activemq使用实例目录
6. Spring和ActiveMQ整合需要在配置文件中配置哪些东西?
配置消息中间件工厂 ,注入给spring一个管理session的容器 容器注入给Spring提供的模板
7. 什么是同源策略?
协议 域名 端口 都相同
8. 如何实现跨域访问?
使用jsonp 底层实现类似于JS的《src》