rabbitmq学习笔记

  消息型中间件:
  AMQP协议:高级消息队列协议
  AMQP 0-9-1
  AMQP 1.0

  路由模型:
  direct
  topic
  fan-out
  headers

  broker:
  exchange
  binding
  queue

  virtualhost:虚拟主机
  exchange
  binding
  queue

  中间件的实现:
  Qpid,ActiveMQ(apache)
  RabbitMQ
  kafka 重量型的模型中
  oMQ

  rabbitmq:
  程序包:
  epel:rabbitmq-server
  插件:rabbitmq_plugins{enable|disable|list}
  rabbitmq_management,监听于15672端口

  配置方式:
    环境变量:网络参数及配置文件路径
    配置文件:服务器各组件访问权限、限制
    运行时参数:集群的运行参数;

  环境变量:/etc/rabbitmq/rabbitmq-env.conf
    PABBITMQ_BASE:数据库和日志文件;,对于Unix_like主机不常用;
    RABBITMQ_CONFIG_FILE:配置文件路径;/etc/rabbitmq/rabbitmq
    RABBITMQ_LOGS;
    PABBITMQ_NODE_IPADDRESS:监听的IP;
    RABBITMQ_NODE_PORT:
    PABBITMQ_PLUGINS_DIR:

  配置文件:
    auth_mechanisms:认证机制,SASL:简单认证安全层;
    default_user:guest
    deault_pass:guest
    defauit_permission:
    disk_free_limit:
    heartbeat:580ms
    hipe_compile:
    log_levels:{none|error|warning|info}
    tcp_listenders:监听的地址和端口
    ssl_listeners:基于ssl通信协议监听的地址和端口
    vm_memory_high_watermark:内存的高水位标记

  运行时参数:
    rabbitmqctl命令:
    命令行语法风格:使用下划线
    rabbitctl status 查看服务状态
    rabbitctl stop_app 不指定则停止所有应用
    rabbitctl start_app
    rabbitctl add_user <username> <password>
    rabbitctl set_user_tags <username> <tags>
    list_users

  权限管理:

  组件查看命令:

    broker状态查看
    status

  环境变量查看
    environment

  执行erlang底层命令
    eval <expr>

  关闭指定连接
    close_connection <connectionid> <explanation>
    设定内存的高水位标记:
    set_vm_memory_high_watermark<fraction>

  rabbitctl list_permissions -p VHOST 指定虚拟主机,不指定则显示根(以主机为中心)
  rabbitctl list_user_permissions (以用户为中心的参数查询)

rabbitmq cluster:
  (1)使用短格式主机名;解析的名称与每个主机名称保存一致;
  (2)时间同步
  (3)各节点要启动rabbitmq_management插件;
  (4)配置过程;
在master节点:
  复制其cookie至其他各节点,注意保持其权限为400;
  /var/lib/rabbitmq/.erlang.cookie

在各从节点:
  停止应用:
  rabbitmqctl stop_app
加入集群:
   rabbitmqctl join_cluster CLUSTER_NAME
启动应用:
  rabbitmqctl start_app

基于haproxy的LB集群:
  listen rabbitmq:5672
  mode tcp
  status enable
  balance roundrobin
  server rabbit01 IP:PORT check inter 5000
  server rabbit02 IP:PORT check inter 5000

posted @ 2018-05-23 09:22  afterdawn  阅读(263)  评论(0编辑  收藏  举报