安利HTML网页版观看,详细代码
Linux 部署运维
1.安装erlang
2.安装socat
$ yum install socat
3.安装rabbit MQ
$ rpm -ivh rabbitmq-server-3.7.5-1.el7.noarch.rpm
4.查看rabbitmq状态
$ systemctl status rabbitmq-server.service
$ bbitmqctl status //当前状态
$ bbitmqctl cluster_status //集群状态
5.rabbitmq启动
$ systemctl start rabbitmq-server.service
6.rabbitmq的管理界面
$ rabbitmq-plugins list //列出所有插件
$ rabbitmq-plugins enable rabbitmq_management //启动后在http://server-name:15672访问
$ rabbitmq-plugins disable rabbitmq_management //关闭rabbitmq管理插件
$ rabbitmq-plugins enable rabbitmq_tracing //启用trace插件
$ rabbitmqctl trace_on //打开trace的开关
$ rabbitmqctl trace_on -p vhost
$ rabbitmqctl trace_off //关闭trace的开关
$ rabbitmq-plugins disable rabbitmq_tracing //关闭trace插件
$ rabbitmq-plugins enable rabbitmq_delayed_message_exchange //安装延时队列
7.rabbitmq停止
$ systemctl stop rabbitmq-server.service
8.rabbitmq关闭
$ rabbitmqctl shutdown
9.rabbitmq重启
$ systemctl restart rabbitmq-server.service
$ rabbitmqctl reset
10.配置文件位于/etc/rabbitmq
$ rabbitmqctl environment //查看运行参数
11.用户管理
$ rabbitmqctl list_users //列出所有用户
$ rabbitmqctl list_user_permissions user //查看用户权限
$ 例子:rabbitmqctl list_user_permissions hyp
$ rabbitmqctl add_user user password //添加用户
$ 例子:rabbitmqctl add_user hyp hyp
$ rabbitmqctl delete_user user //删除用户
$ 例子:rabbitmqctl delete_user hyp
$ rabbitmqctl set_user_tags user <administrator | monitoring | management | policymaker> //授予角色
例子:$ rabbitmqctl set_user_tags hyp administrator
administrator角色,可查看所有信息,并且可以对用户,策略(policy)进行操作.
monitoring角色,可查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
policymaker角色,可以对策略(policy)进行管理,但无法查看节点的相关信息.
management角色,只能查看队列和交换机等,无法看到节点信息,也无法对策略进行管理.
rabbitmqctl change_password user newpassword //修改密码
例子:$ rabbitmqctl change_password hyp hyppassword
12.集群
$ rabbitmqctl stop_app
$ rabbitmqctl reset
$ rabbitmqctl join_cluster --ram rabbit@v01-app-rabbitmq01 //加入集群,该节点为内存节点类型
$ rabbitmqctl join_cluster --disc rabbit@v01-app-rabbitmq01 //加入集群,该节点为磁盘节点类型
$ rabbitmqctl change_cluster_node_type <ram | disc> //修改节点类型
$ rabbitmqctl start_app
/*到目前为止,集群虽然搭建成功,但只是默认的普通集群,exchange,binding等数据可以复制到集群各节点
但对于队列来说,各节点只有相同的元数据,即队列结构,但队列实体只存在于创建改队列的节点,即队列内容不会复制
(从其余节点读取,可以建立临时的通信传输)
$ rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}' //将所有队列设置为镜像队列,即队列会被复制到各个节点,各个节点状态保持一直
$ rabbitmqctl list_policies //查看策略
Client Demo-HelloWorld (JAVA)
1.Create Maven Project And Import Rabbit MQ amqp-client
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.4.1</version>
</dependency>
2.Create Send Class
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Channel;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.concurrent.TimeoutException;
public class Send {
private final static String QUEUE_NAME = "hello";
public static void main(String[] args) throws IOException, TimeoutException {
ConnectionFactory connectionFactory = new ConnectionFactory();
connectionFactory.setHost("IP or Host");
connectionFactory.setUsername("your UserName");
connectionFactory.setPassword("your Password");
Connection connection = connectionFactory.