zoukankan      html  css  js  c++  java
  • 安装单机版RabbitMQ

    Kafka、ActiveMQ、RabbitMQ、RocketMQ 优缺点对比

    特性 ActiveMQ RabbitMQ RocketMQ Kafka
    单机吞吐量 万级,比 RocketMQ、Kafka 低一个数量级 同 ActiveMQ 10 万级,支撑高吞吐 10 万级,高吞吐,一般配合大数据类的系统来进行实时数据计算、日志采集等场景
    topic 数量对吞吐量的影响 topic 可以达到几百/几千的级别,吞吐量会有较小幅度的下降,这是 RocketMQ 的一大优势,在同等机器下,可以支撑大量的 topic topic 从几十到几百个时候,吞吐量会大幅度下降,在同等机器下,Kafka 尽量保证 topic 数量不要过多,如果要支撑大规模的 topic,需要增加更多的机器资源
    时效性 ms 级 微秒级,这是 RabbitMQ 的一大特点,延迟最低 ms 级 延迟在 ms 级以内
    可用性 高,基于主从架构实现高可用 同 ActiveMQ 非常高,分布式架构 非常高,分布式,一个数据多个副本,少数机器宕机,不会丢失数据,不会导致不可用
    消息可靠性 有较低的概率丢失数据 基本不丢 经过参数优化配置,可以做到 0 丢失 同 RocketMQ
    功能支持 MQ 领域的功能极其完备 基于 erlang 开发,并发能力很强,性能极好,延时很低 MQ 功能较为完善,还是分布式的,扩展性好 功能较为简单,主要支持简单的 MQ 功能,在大数据领域的实时计算以及日志采集被大规模使用

    下载erlang和rabbitmq安装包

    [root@localhost ~]# wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.5/rabbitmq-server-generic-unix-3.9.5.tar.xz
    [root@localhost ~]# wget https://erlang.org/download/otp_src_24.0.tar.gz
    

    安装erlang所需依赖

    [root@localhost ~]# yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto
    

    编译安装erlang

    [root@localhost ~]# tar xf otp_src_24.0.tar.gz
    [root@localhost ~]# cd otp_src_24.0
    [root@localhost ~]# ./configure --prefix=/usr/local/erlang
    [root@localhost ~]# make
    [root@localhost ~]# make install
    

    添加erlang环境变量

    [root@localhost ~]# echo "export PATH=$PATH:/usr/local/erlang/bin" >> /etc/profile
    [root@localhost ~]# source /etc/profile
    

    测试erlang是否安装成功

    [root@localhost ~]# erl
    Erlang/OTP 24 [erts-12.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1]
    
    Eshell V12.0  (abort with ^G)
    1>
    User switch command
     --> q
    

    安装rabbitmq

    [root@localhost ~]# tar xf rabbitmq-server-generic-unix-3.9.5.tar.xz -C /usr/local
    [root@localhost ~]# ln -sv /usr/local/rabbitmq_server-3.9.5 /usr/local/rabbitmq
    

    添加rabbitmq环境变量

    [root@localhost ~]# echo "export PATH=$PATH:/usr/local/rabbitmq/sbin" >> /etc/profile
    [root@localhost ~]# source /etc/profile
    

    测试rabbitmq是否安装成功

    # 开启rabbitmq服务
    [root@localhost ~]# rabbitmq-server -detached
    # 查看服务状态
    [root@localhost ~]# rabbitmqctl status
    Status of node rabbit@localhost ...
    Runtime
    
    OS PID: 3605559
    OS: Linux
    Uptime (seconds): 6994
    Is under maintenance?: false
    RabbitMQ version: 3.9.5
    Node name: rabbit@test-fengtan-app-0-140
    Erlang configuration: Erlang/OTP 24 [erts-12.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1]
    Erlang processes: 412 used, 1048576 limit
    Scheduler run queue: 1
    Cluster heartbeat timeout (net_ticktime): 60
    
    Plugins
    
    Enabled plugin file: /usr/local/rabbitmq/etc/rabbitmq/enabled_plugins
    Enabled plugins:
    
     * rabbitmq_management
     * amqp_client
     * rabbitmq_web_dispatch
     * cowboy
     * cowlib
     * rabbitmq_management_agent
    
    Data directory
    ........
    # 开启rabbitmq
    [root@localhost ~]# rabbitmqctl start_app
    # 查看rabbitmq启动端口
    [root@localhost ~]# netstat -tnlp|grep 'beam|epmd'
    tcp        0      0 0.0.0.0:25672         0.0.0.0:*         LISTEN    3605559/beam.smp
    tcp        0      0 0.0.0.0:4369          0.0.0.0:*         LISTEN    3605592/epmd
    tcp        0      0 0.0.0.0:15672         0.0.0.0:*         LISTEN    3605559/beam.smp
    tcp6       0      0 :::5672               :::*              LISTEN    3605559/beam.smp
    tcp6       0      0 :::4369               :::*              LISTEN    3605592/epmd
    # 开启插件管理
    [root@localhost ~]# rabbitmq-plugins enable rabbitmq_management
    # 查看插件集合
    [root@localhost ~]# rabbitmq-plugins list
    # 关闭rabbitmq
    [root@localhost ~]# rabbitmqctl stop_app
    

    通过web界面访问http://localhost:15672即可管理rabbitmq

    用户管理

    # 查看所有用户
    rabbitmqctl list_users
    # 添加一个用户
    rabbitmqctl add_user test 123456
    # 配置权限
    rabbitmqctl set_permissions -p "/" test ".*" ".*" ".*"
    # 查看用户权限
    rabbitmqctl list_user_permissions test
    # 设置tag
    rabbitmqctl set_user_tags test administrator
    # 删除用户(安全起见,删除默认用户)
    rabbitmqctl delete_user guest
    
  • 相关阅读:
    Springboot 配置Slf4j + Logback
    一步一步创建SpringCloud项目(二)—— 使用feign和ribbon调用微服务
    一步一步创建SpringCloud项目(一)——创建项目父工程、Eureka
    rabbitmq使用笔记
    docker部署rabbitmq
    Maven pom文件中dependency scope用法
    MySQL事务隔离级别总结
    docker安装redis
    RabbitMQ的消息确认机制
    centos7.6 下安装docker,docker compose
  • 原文地址:https://www.cnblogs.com/will-space/p/15219586.html
Copyright © 2011-2022 走看看