zoukankan      html  css  js  c++  java
  • RabbitMQ笔记

    RabbitMQ笔记

    简单介绍

    点击查看RabbitMQ简介
    MQ全称为Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信, 直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。其中较为成熟的MQ产品有IBM WEBSPHERE MQ等等。

    Erlang

    Erlang是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。

    安装配置

    [root@demo1 ~]# cat /etc/redhat-release 
    CentOS Linux release 7.6.1810 (Core) 
    [root@demo1 ~]# uname -a
    Linux demo1 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
    

    注意事项:所选择的erlang要与rabbitmq版本要对应 官方版本对照表

    RabbitMQ官网方法 如果只是使用RabbitMQ,个人推荐使用RabbitMQ公司维护的erlang版本,该版本只保留了与RabbltMQ相关的功能
    MQ_ERL

    centOS6与7版本的都有,还有erlang19x、20x、21x版本。下面是在centOS7上安装22x版本erlang。

    安装erlang

    [root@demo1 ~]# vim /etc/yum.repos.d/rabbitmq-erlang.repo
    [rabbitmq-erlang]
    name=rabbitmq-erlang
    baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/7
    gpgcheck=1
    gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
    repo_gpgcheck=0
    enabled=1
    [root@demo1 ~]# yum -y install erlang
    [root@demo1 ~]# erl
    Erlang/OTP 22 [erts-10.7.2.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]
    
    Eshell V10.7.2.2  (abort with ^G)
    1> 
    

    安装rabbitmq 官方安装文档

    [root@demo1 ~]# wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.6/rabbitmq-server-3.8.6-1.el7.noarch.rpm
    [root@demo1 ~]# yum localinstall rabbitmq-server-3.8.6-1.el7.noarch.rpm
    

    启动

    [root@demo1 ~]# systemctl start rabbitmq-server
    

    相关文件

    日志文件

    [root@demo1 ~]# cd /var/log/rabbitmq/
    [root@demo1 rabbitmq]# ls
    log  rabbit@demo1.log  rabbit@demo1_upgrade.log
    [root@demo1 rabbitmq]# vim rabbit@demo1.log
     23 2020-08-12 15:14:46.621 [info] <0.269.0> 
     24  node           : rabbit@demo1
     25  home dir       : /var/lib/rabbitmq
     26  config file(s) : (none)   #启动时rabbitmq会在/etc/rabbitmq/下寻找配置文件,默认没有,可创建一个
     27  cookie hash    : IhxHBIrIQV6EmeGaYyP7nQ==
     28  log(s)         : /var/log/rabbitmq/rabbit@demo1.log
     29                 : /var/log/rabbitmq/rabbit@demo1_upgrade.log
     30  database dir   : /var/lib/rabbitmq/mnesia/rabbit@demo1
    

    配置文件

    [root@demo1 rabbitmq]# cd /etc/rabbitmq/
    [root@demo1 rabbitmq]# touch rabbitmq.config
    

    详细的配置文件参数见官网 rabbitmq配置

    启动web管理界面

    [root@demo1 ~]# rabbitmq-plugins enable rabbitmq_management
    Enabling plugins on node rabbit@demo1:
    rabbitmq_management
    The following plugins have been configured:
      rabbitmq_management
      rabbitmq_management_agent
      rabbitmq_web_dispatch
    Applying plugin configuration to rabbit@demo1...
    The following plugins have been enabled:
      rabbitmq_management
      rabbitmq_management_agent
      rabbitmq_web_dispatch
    
    started 3 plugins.
    

    配置用户远程访问

    RabbitMQ默认用户名和密码都是guest,并且只能在本地登录,远程无法登录,可以通过在配置文件rabbitmq.config中配置来允许在远程登录。

    [{rabbit, [{loopback_users, []}]}].
    


    添加新用户访问

    # 添加用户
    rabbitmqctl add_user username password
        
    # 为用户设置所有权限
    rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
        
    # 设置用户为管理员
    rabbitmqctl set_user_tags username administrator
    
  • 相关阅读:
    数据访问(从数据库中访问数据)
    加载类、设计模式(单例模式和工厂模式)
    面向对象之静态
    面向对象三大特性之继承和多态
    面向对象三大特性之封装
    面向对象基础知识
    mysql下载与安装过程
    Idea添加依赖的步骤:
    Java JDBC 在IDEA环境下连接MySQL
    JAVA中集合HashMap嵌套联系
  • 原文地址:https://www.cnblogs.com/chuyiwang/p/13490178.html
Copyright © 2011-2022 走看看