RabbitMQ是一款比较老牌的消息队列中间件,老大说以后项目组可能要经常用到这个,所以没事就先学习了解一下。
公司项目之前一直使用的webservice,现在业务不断扩展,使用webservice开发量较大,而且不好维护。
先説一下消息中间件产生的原因
1、网络通讯中,Http请求默认采用同步请求方式,基于请求和响应模式;
2、在客户端与服务器通讯时,客户端调用服务端接口后,必须等待服务端完成处理后返回结果给客户端才能继续执行,这种情况属于同步调用方式;
3、如果服务器端发生网络延迟、不可达情况,可能客户端也会受到影响。
而消息队列中间件是分布式系统中重要的组件,主要解决应用解耦合、异步消息、流量削峰问题,实现高性能、高可用、可伸缩和最终一致的架构。
RabbitMQ 是一个由 Erlang 语言开发的 AMQP协议 的开源实现,所以对高并发的支持性特别好。
安装过程很简单,先安装ErLang,然后配置环境变量
再安装RabbitMQ,一路next,很简单。
安装完成启动成功后,一直访问不了页面:http://127.0.0.1:15672
百度以后才知道需要启动web访问插件
打开命令行模式cmd:
cd C:\rabbitmq\RabbitMQ Server\rabbitmq_server-3.0.0\sbin(安装路径)
rabbitmq-plugins.bat enable rabbitmq_management
使用guest/guest登录。
添加用户
登录成功以后可以给自己创建一个账号:在Admin页签中Add a user
下面那个Tags代表权限
添加Virtual Hosts
从上图可以看出来,不同的Virtual Host是具有自己单独的交换器和队列的,每个项目组或者业务创建自己的Virtual Host可以很好的进行隔隔离起来,互不影响,方便管理。
在不同的Virtual Host中,可以有相同的队列名。
创建完新的Virtual Host之后,就可以给刚才创建的账号指定Virtual Host
单击账号名
给该账号指定Virtual Host,并Set permission.
以上就是RabbitMq的简单介绍,后续主要学习基于Java语言使用RabbitMq。