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_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to rabbit@localhost...
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
set 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 培训