rabbitmq

时间:2020-05-16 15:09:04   收藏:0   阅读:42
技术分享图片
----------------------------------------------------------------------RabbitMQ------------------------------------------------------------------------------
RabbitMQ是一个在AMQ基础上完整的,可复用的消息系统。-------------------遵循Mozilla Public License开源协议。
    概念:
        Exchange:----------------消息交换机,它指定消息按什么规则,路由到哪个队列。
      Queue:-----------------绑定,它的作用就是把exchange和queue按照路由规则绑定起来。
      Routing Key:-----------路由关键字,exchange根据这个关键字进行消息投递。
      vhost:-------------------虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。
      producer:--------------消息生产者,就是投递消息的程序。
      consumer:--------------消息消费者,就是接受消息的程序。
      channel:-----------------消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。
    MQ:全称为Message Queue--------------消息队列(MQ)是一种应用程序的通信方法。
        1:应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,无需专用链接来链接他们。
        2:消息传递指的是:程序之间通过在--消息--中发送数据进行通信,而不是直接调用彼此来通信,直接调用通常是用于--:诸如诸如远程过程调用的技术。
        3:排队指的是:应用程序通过队列来通信。
        4:队列的使用除去了接收和发送同时执行放入要求。
    安装:
        安装配置epel源:---------------$ rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
        安装erlang:--------------------$ yum -y install erlang
        安装RabbitMQ:----------------$ yum -y install rabbitmq-server
    注意:service rabbitmq-server start/stop
    安装API:
            pip install pika//easy_install pika
            https://pypi.python.org/pypi/pika---------------------源码
            
            
            
            
            
            
---------------------------------------------------------------------------------------------------------------------------------------------------------------




----------------------------------------------------------------RabbitMQ源码安装-------------------------------------------------------------------------------
    
    官网地址:rabbitmq
    http://www.rabbitmq.com/releases/rabbitmq-server/
    官网地址:erlang
    http://erlang.org/download/
    一、概念:
         Broker:简单来说就是消息队列服务器实体。
       Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。
       Queue:消息队列载体,每个消息都会被投入到一个或多个队列。
       Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。
       Routing Key:路由关键字,exchange根据这个关键字进行消息投递。
       vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。
       producer:消息生产者,就是投递消息的程序。
       consumer:消息消费者,就是接受消息的程序。
       channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。

    二、安装RabbitMQ
         CentOS:
              1.先安装erlang
                   # PS: 注意安装操作首先要切换到root工作环节中
                   # 在命令 如果$ 表示是普通用户,
                   yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel 
                   yum -y install ncurses-devel 
                   yum install ncurses-devel 
                   wget http://erlang.org/download/otp_src_19.3.tar.gz
                   tar -xzvf otp_src_19.3.tar.gz
                   cd otp_src_19.3
                   ./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe 
                   make && make install
                   配置erlang环境
                   vi /etc/profile  #在最后添加下文
                   PATH=$PATH:/usr/local/erlang/bin
                   使环境变量生效
                   source /etc/profile
                   测试一下是否安装成功,在控制台输入命令erl
                   crt+z 退出
              2.安装rabbitmq
        
                   wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.8/rabbitmq-server-3.5.8.tar.gz
                   tar -zxvf rabbitmq-server-3.5.8.tar.gz
                   cd abbitmq-server-3.5.8
                   make
                   make TARGET_DIR=/usr/local/rabbitmq SBIN_DIR=/usr/local/rabbitmq/sbin MAN_DIR=/usr/local/rabbitmq/man DOC_INSTALL_DIR=/usr/local/rabbitmq/doc install
                   配置erlang环境
                   vi /etc/profile  #在最后添加下文
                   PATH=$PATH:/usr/local/erlang/bin:/usr/local/rabbitmq/sbin
                   使环境变量生效
                   source /etc/profile
              3. 启动:rabbitmq-server
                    rabbitmq-server start
              4. 检查服务启动状态
                    [root@node01 ~]# netstat -lnpt|grep beam
                    tcp        0      0 0.0.0.0:5672                0.0.0.0:*                   LISTEN      19733/beam          
                    tcp        0      0 0.0.0.0:25672               0.0.0.0:*                   LISTEN      19733/beam          
                    tcp        0      0 0.0.0.0:15672               0.0.0.0:*                   LISTEN      19733/beam          
                    [root@node01 ~]# 
                    #  表示启动成功
    三、管理命令
           启动:rabbitmq-server start
           关闭:rabbitmqctl stop
           状态:rabbitmqctl status

    四、插件
        启动web管理插件
            rabbitmq-plugins enable rabbitmq_management
            如果报错
            错误解决:
                Error: {cannot_write_enabled_plugins_file,"/etc/rabbitmq/enabled_plugins",            enoent}
                mkdir /etc/rabbitmq
                重新启动输入地址:localhost:15672,帐号默认为guest,密码guest,此帐号默认只能在本机访问。不建议打开远程访问。你可以创建一个帐户,并设置可以远程访问的角色进行访问。
                如:
                rabbitmqctl add_user supery 123                # 创建用户supery
                
                rabbitmqctl  set_user_tags  supery administrator        # 给创建的supery用户administrator角色

    五、用户管理
         默认的guest帐户相当于root帐户
         rabbitmqctl add_user username password 添加帐户
         rabbitmqctl change_password username newpassword 修改密码
         rabbitmqctl delete_user username 删除帐户
         rabbitmqctl list_users 列出所有帐户
         rabbitmqctl  set_user_tags  User  Tag 设置角色(administrator、monitoring、policymaker、management、其它)
         立即生效,不需重启

    六、创建配置文件
    [root@node01 ~]# ll /etc/rabbitmq/
    total 8
    -rw-r--r-- 1 root root 23 Mar  5 10:07 enabled_plugins
    -rw-r--r-- 1 root root 51 Mar  5 10:12 rabbitmq.config
    [root@node01 ~]# cat /etc/rabbitmq/rabbitmq.config 
    [{rabbit, [{loopback_users, ["root","supery"]}]}].

    操作步骤:
        vi /etc/rabbitmq/rabbitmq.config
        将[{rabbit, [{loopback_users, ["root","supery"]}]}]. 复制到文件中即可
        
        
        
        esc
        :x  保存并退出
        
    七、重启rabbitmq-server并测试访问
    rabbitmqctl stop
    rabbitmqctl start
    浏览器访问
        1. 查看自己的服务器ip地址
        ifconfig
        # inet addr:172.24.129.3        ===> 服务器ip地址
        2. 浏览器访问
        http://39.104.109.159:15672      ===> 输入用户密码登录即可
        
    登录成功!完成

-----------------------redis---------------
关系型数据库:
    mysql oracle
非关系型数据库:
    NoSql  redis


先有的memcache后有的redis-------------数据相对不安全
数据备份

下载:https://github.com/MicrosoftArchive/redis/releases
    
redis-----------------有持久化
端口号:6379
优点:访问速度快
缺点:存储在缓存不够安全。

请求---------------数据库------------返回
放入到缓存
求求--------------缓存---------------数据库
redis:
    key:value
    name:"yuan"
    name:[]
    name:{"":""}
    name:{}
    name:12
memcache:
    集群
    key:value    --------value只能是字符串
消息队列

 

rabbitmq 源码安装

官网地址:rabbitmq
http://www.rabbitmq.com/releases/rabbitmq-server/
官网地址:erlang
http://erlang.org/download/

一、概念:
     Broker:简单来说就是消息队列服务器实体。
   Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。
   Queue:消息队列载体,每个消息都会被投入到一个或多个队列。
   Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。
   Routing Key:路由关键字,exchange根据这个关键字进行消息投递。
   vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。
   producer:消息生产者,就是投递消息的程序。
   consumer:消息消费者,就是接受消息的程序。
   channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。

二、安装RabbitMQ
     CentOS:
          1.先安装erlang
      # PS: 注意安装操作首先要切换到root工作环节中
      # 在命令 如果$ 表示是普通用户,
               yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
               yum -y install ncurses-devel
               yum install ncurses-devel
               wget http://erlang.org/download/otp_src_19.3.tar.gz
               tar -xzvf otp_src_19.3.tar.gz
               cd otp_src_19.3
               ./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe
               make && make install
               配置erlang环境
               vi /etc/profile  #在最后添加下文
               PATH=$PATH:/usr/local/erlang/bin
               使环境变量生效
               source /etc/profile
               测试一下是否安装成功,在控制台输入命令erl
      crt+z 退出
          2.安装rabbitmq
 
               wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.8/rabbitmq-server-3.5.8.tar.gz
               tar -zxvf rabbitmq-server-3.5.8.tar.gz
               cd abbitmq-server-3.5.8
               make
               make TARGET_DIR=/usr/local/rabbitmq SBIN_DIR=/usr/local/rabbitmq/sbin MAN_DIR=/usr/local/rabbitmq/man DOC_INSTALL_DIR=/usr/local/rabbitmq/doc install
      配置erlang环境
               vi /etc/profile  #在最后添加下文
               PATH=$PATH:/usr/local/erlang/bin:/usr/local/rabbitmq/sbin
      使环境变量生效
               source /etc/profile
    3. 启动:rabbitmq-server
    rabbitmq-server start
    4. 检查服务启动状态
    [root@node01 ~]# netstat -lnpt|grep beam
    tcp        0      0 0.0.0.0:5672                0.0.0.0:*                   LISTEN      19733/beam         
    tcp        0      0 0.0.0.0:25672               0.0.0.0:*                   LISTEN      19733/beam         
    tcp        0      0 0.0.0.0:15672               0.0.0.0:*                   LISTEN      19733/beam         
    [root@node01 ~]#
    #  表示启动成功
       
三、管理命令
       启动:rabbitmq-server start
       关闭:rabbitmqctl stop
       状态:rabbitmqctl status

四、插件
    启动web管理插件
        rabbitmq-plugins enable rabbitmq_management
        如果报错
  错误解决:
            Error: {cannot_write_enabled_plugins_file,"/etc/rabbitmq/enabled_plugins",            enoent}
            mkdir /etc/rabbitmq
            重新启动输入地址:localhost:15672,帐号默认为guest,密码guest,此帐号默认只能在本机访问。不建议打开远程访问。你可以创建一个帐户,并设置可以远程访问的角色进行访问。
            如:
   rabbitmqctl add_user supery 123    # 创建用户supery
           
   rabbitmqctl  set_user_tags  supery administrator  # 给创建的supery用户administrator角色

五、用户管理
     默认的guest帐户相当于root帐户
     rabbitmqctl add_user username password 添加帐户
     rabbitmqctl change_password username newpassword 修改密码
     rabbitmqctl delete_user username 删除
     帐户
     rabbitmqctl list_users 列出所有帐户
     rabbitmqctl  set_user_tags  User  Tag 设置角色(administrator、monitoring、policymaker、management、其它)
     立即生效,不需重启

六、创建配置文件
[root@node01 ~]# ll /etc/rabbitmq/
total 8
-rw-r--r-- 1 root root 23 Mar  5 10:07 enabled_plugins
-rw-r--r-- 1 root root 51 Mar  5 10:12 rabbitmq.config
[root@node01 ~]# cat /etc/rabbitmq/rabbitmq.config
[{rabbit, [{loopback_users, ["root","supery"]}]}].

操作步骤:
 vi /etc/rabbitmq/rabbitmq.config
 将[{rabbit, [{loopback_users, ["root","supery"]}]}]. 复制到文件中即可
 
 
 
 esc
 :x  保存并退出
 
七、重启rabbitmq-server并测试访问
rabbitmqctl stop
rabbitmqctl start
浏览器访问
 1. 查看自己的服务器ip地址
 ifconfig
 # inet addr:172.24.129.3  ===> 服务器ip地址
 2. 浏览器访问
 http://39.104.109.159:15672   ===> 输入用户密码登录即可
 
登录成功!完成
  
 

原文:https://www.cnblogs.com/dingyunfeng/p/12900149.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!