MQ消息隊列中間件,P2P,PUB/SUB 生産者消費者模型
erlang中實作AMQP
1 安裝配置
2 rabbitmqctl status
3 增加使用者??
rabbitmqctl add_user root root 增加使用者
rabbitmqctl set_permissions -p / root "." "." ".*"
rabbitmqctl set_user_tags root administrator
rabbitmqctl list_queues name messages_ready
D:持久化隊列
vhost之間是絕對獨立的
rabbitmqctl add_vhost vhost1
rabbitmqctl list_vhosts name tracing
rabbitmqctl trace_on
rabbitmqctl delete_vhost aa
rabbitmqctl set_permissions -p vhost user conf write read
rabbitmqctl set_permissions -p vhost1 root "." "." ".*"
rabbitmqctl clear_permissions -p vhosts root
rabbitmqctl list_permissions -p vhost1
rabbitmqctl list_vhosts -q -t xx
rabbitmqctl add_user username password
rabbitmqctl change_user username password
rabbitmqctl authenticate_user username password
rabbitmqctl delete_user username
rabbitmqctl list_users
rabbit預設的角色:tag
none,management:web policymaker:web,policy,parameter
monitoring, administrator:all
rabbitmqctl set_user_tags userename management,policymaker,monitoring
開啟web管理端插件:
rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins list
web:
http://ip:15672用-detach啟動的,沒有pidfile
rabbitmqctl shutdown
rabbitmqctl stop_app
rabbitmqctl start_app
rabbitmqctl reset
rabbitmqctl force_reset
日志lunxun
rabbitmqctl rotate_logs .1
叢集
rabbitmqctl cluster_status
rabbitmqctl join_cluster rabbit@node2
rabbitmqctl set_cluster_name cluster_name
rabbitmqctl list_queues -p vhosts x1 x2 x3 ..
rabbitmqctl report > a.txt
./rabbitmqadmin --help
rabbitmq-env.conf 配置檔案
NODENAME=
NODE_PORT=5672
CONFIG_FILE=/XXX
RABBITMQ_NODE_IP_ADDRESS
RABBITMQ_NODE_PORT 5672
RABBITMQ_DIST_PORT 25672
RABBITMQ_NODENAME
RABBITMQ_CONF_ENV_FILE
RABBITMQ_CONFIG_FILE #沒有.config
RABBITMQ_MNESIA_BASE
RABBITMQ_MNESIA_DIR
RABBITMQ_LOG_BASE
RABBITMQ_LOGS
RABBITMQ_PLUGINS_DIR
----常用配置
CONFIG_FILE=/rabbitmq/rabbitmq
CONFIG_ENV_FILE=/rabbitmq/rabbitmq-env.conf
LOG_BASE=/rabbitmq/logs
MNESIA_BASE=/rabbitmq/mnesia
rabbitmqctl set_parameter -p vhost
rabbitmqctl list_parameters -p /
rabbitmqctl clear_parameter -p vhost
rabbitmqctl list_global_parameters
rabbitmqctl set_policy --apply-to exchanges --prority 1 p1
rabbitmq叢集的搭建
節點的删除、添加、更新
--
rabbitmq單機多節點的配置
監控
rabbitmq 通過3種方式實作分布式部署:叢集、federation、shovel
rabbitmq-plugins enable rabbitmq_federation
rabbitmq-plugins enable rabbitmq_federation_management
rabbitmq-plugins enable rabbitmq_shovel
rabbitmq-plugins enable rabbitmq_shovel_management
叢集種erlang和rabbitmq的版本要一緻
shovel和federation的版本可以随意
rabbitmq消息堆積處理
5672 25672
處理網絡分區
配置自動處理網絡分區:pause-minority ,autoheal

image.png
firehose,rabbitmq_tracing插件
rabbitmq負載均衡