MQ 有哪些?当今市面上有很多支流的消息中间件,如老牌的 ActiveMQ、RabbitMQ,煊赫一时的 Kafka(大数据,高效,安全性低),阿里巴巴自主开发 RocketMQ(OPPO 用的 RocketMQ)等。
不同 MQ 的特点
- ActiveMQ JMS java13 种标准(接口)之一(jdbc)
ActiveMQ 是Apache出品,最风行的,能力强劲的开源音讯总线。
它是一个齐全反对JMS标准的的消息中间件。丰盛的API,
多种集群架构模式让ActiveMQ在业界成为老牌的消息中间件,在中小型企业颇受欢迎!
- Kafka
Kafka是LinkedIn开源的分布式公布-订阅音讯零碎,
目前归属于Apache顶级我的项目。Kafka次要特点是基于Pull的模式来解决音讯生产,
谋求高吞吐量,一开始的目标就是用于日志收集和传输。
0.8版本开始反对复制,不反对事务,对音讯的反复、失落、谬误没有严格要求,
适宜产生大量数据的互联网服务的数据收集业务。
- RocketMQ
RocketMQ是阿里开源的消息中间件,
它是纯Java开发,具备高吞吐量、高可用性、适宜大规模分布式系统利用的特点。
RocketMQ思路起源于Kafka,
但并不是Kafka的一个Copy,它对音讯的牢靠传输及事务性做了优化,
目前在阿里团体被广泛应用于交易、充值、流计算、音讯推送、日志流式解决、binglog散发等场景。
- RabbitMQ (平安)
RabbitMQ是应用Erlang语言开发的开源音讯队列零碎,
基于AMQP协定来实现。AMQP的次要特色是面向音讯、队列、路由(包含点对点和公布/订阅)、可靠性、平安。
AMQP协定更多用在企业零碎内对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。
RabbitMQ 比 Kafka 牢靠,Kafka 更适宜 IO 高吞吐的解决,个别利用在大数据日志解决或对实时性(大量提早),可靠性(大量丢数据)要求稍低的场景应用,比方 ELK 日志收集。
RabbitMQ 的装置
(1)下载
官网下载地址: https://www.rabbitmq.com/down...
(2)下载的安装包
留神:这里的安装包是 centos7 装置的包
(3)装置步骤
1.将rabbitmq安装包上传到linux零碎中
erlang-22.0.7-1.el7.x86_64.rpm #erlang环境
socat-1.7.3.2-2.el7.x86_64.rpm #内存治理依赖
rabbitmq-server-3.7.18-1.el7.noarch.rpm
2.装置Erlang依赖包
rpm -ivh erlang-22.0.7-1.el7.x86_64.rpm
rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm
3.装置RabbitMQ安装包(须要联网)
yum install -y rabbitmq-server-3.7.18-1.el7.noarch.rpm
留神:默认装置实现后配置文件模板在:/usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example目录中,须要将配置文件复制到/etc/rabbitmq/目录中,并批改名称为rabbitmq.config
4.复制配置文件
cp /usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
5.查看配置文件地位
ls /etc/rabbitmq/rabbitmq.config
6.批改配置文件(参见下图:) :61 查看61行
vim /etc/rabbitmq/rabbitmq.config
7.执行如下命令,启动rabbitmq中的插件治理
rabbitmq-plugins enable rabbitmq_management
呈现如下阐明:
Enabling plugins on node rabbit@localhost:rabbitmq_managementThe following plugins have been configured: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatchApplying plugin configuration to rabbit@localhost...The following plugins have been enabled: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatchset 3 plugins.Offline change; changes will take effect at broker restart.
8.启动RabbitMQ的服务
systemctl start rabbitmq-server
systemctl restart rabbitmq-server
systemctl stop rabbitmq-server
留神:如果启动呈现问题
Job for rabbitmq-server.service failed because the control process exited with error code
须要批改主机名
查看本机主机名 hostname 批改主机名 hostnamectl set-hostname 主机名
10.敞开防火墙服务
systemctl stop firewalld
systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
11.拜访web治理界面( 192.168.5.128是我本人的ip地址)
http:// 192.168.5.128:15672/
12.登录治理界面 默认的
username: guest
password: guest
敞开 RabbitMQ 之后
systemctl stop rabbitmq-server
前端界面
4、RabbitMQ 配置
1.服务启动相干
systemctl start|restart|stop|status rabbitmq-server
2.治理命令行 用来在不应用web治理界面状况下命令操作RabbitMQ
rabbitmqctl help 能够查看更多命令
3.插件治理命令行
rabbitmq-plugins enable|list|disable
5、web 治理界面介绍
(1)overview 概览
connections:无论生产者还是消费者,都须要与RabbitMQ建设连贯后才能够实现音讯的生产和生产,在这里能够查看连贯状况
channels:通道,建设连贯后,会造成通道,音讯的投递获取依赖通道。
Exchanges:交换机,用来实现音讯的路由
Queues:队列,即音讯队列,音讯寄存在队列中,期待生产,生产后被移除队列。
(2)设置用户名和明码
下面的 Tags 选项,其实是指定用户的角色,可选的有以下几个:
超级管理员(administrator)可登陆治理控制台,可查看所有的信息,并且能够对用户,策略(policy)进行操作。
监控者(monitoring)可登陆治理控制台,同时能够查看 rabbitmq 节点的相干信息(过程数,内存应用状况,磁盘应用状况等)
策略制定者(policymaker)可登陆治理控制台, 同时能够对 policy 进行治理。但无奈查看节点的相干信息(上图红框标识的局部)。
一般管理者(management)仅可登陆治理控制台,无奈看到节点信息,也无奈对策略进行治理。
其余无奈登陆治理控制台,通常就是一般的生产者和消费者。
(3)新建虚拟主机
虚拟主机:为了让各个用户能够互不烦扰的工作,RabbitMQ 增加了虚拟主机(Virtual Hosts)的概念。其实就是一个独立的拜访门路,不同用户应用不同门路,各自有本人的队列、交换机,相互不会影响。
(4)绑定虚拟主机和用户
创立好虚拟主机,咱们还要给用户增加拜访权限:
点击增加好的虚拟主机:
进入虚拟机设置界面:
设置胜利后
关键词:java培训