当前位置: 首页 > news >正文

网站建设常见错误如何降低网站的权重

网站建设常见错误,如何降低网站的权重,wordpress模板显示不全,昆明有网站的公司目录 一、RabbitMQ原理1、交换机#xff08;Exchange#xff09;fanoutdirecttopicheaders#xff08;很少用到#xff09; 2、队列Queue3、Virtual Hosts4、基础对象 二、RabbitMQ的一些基本操作:1、用户管理2、用户角色3、vhost4、开启web管理接口5、批量删除队列 一、Ra… 目录 一、RabbitMQ原理1、交换机Exchangefanoutdirecttopicheaders很少用到 2、队列Queue3、Virtual Hosts4、基础对象 二、RabbitMQ的一些基本操作:1、用户管理2、用户角色3、vhost4、开启web管理接口5、批量删除队列 一、RabbitMQ原理 1、交换机Exchange 生产者的消息并不能直接到Queue中而是经过交换机分配的。一个消息可以分配给一个或者多个queue分配通过bind进行的。 在绑定BindingExchange和Queue的同时一般会指定一个Binding Key生产者将消息发送给Exchange的时候一般会产生一个Routing Key当Routing Key和Binding Key对应上的时候消息就会发送到对应的Queue中去。那么Exchange有四种类型,接下来就来详细讲解下Exchange里面类型。 fanout fanout类型的Exchange路由规则非常简单它会把所有发送到该Exchange的消息路由到所有与它绑定的Queue中。 上图所示生产者P生产消息1将消息1推送到Exchange由于Exchange Typefanout这时候会遵循fanout的规则将消息推送到所有与它绑定Queue也就是图上的两个Queue最后两个消费者消费。 direct direct类型的Exchange路由规则也很简单它会把消息路由到那些binding key与routing key完全匹配的Queue中 当生产者P发送消息时Rotuing keybooking时这时候将消息传送给ExchangeExchange获取到生产者发送过来消息后会根据自身的规则进行与匹配相应的Queue这时发现Queue1和Queue2都符合就会将消息传送给这两个队列如果我们以Rotuing keycreate和Rotuing keyconfirm发送消息时这时消息只会被推送到Queue2队列中其他Routing Key的消息将会被丢弃。 topic 前面提到的direct规则是严格意义上的匹配换言之Routing Key必须与Binding Key相匹配的时候才将消息传送给Queue那么topic这个规则就是模糊匹配可以通过通配符满足一部分规则就可以传送。它的约定是 routing key为一个句点号“. ”分隔的字符串我们将被句点号“. ”分隔开的每一段独立的字符串称为一个单词如“stock.usd.nyse”、“nyse.vmw”、“quick.orange.rabbit” binding key与routing key一样也是句点号“. ”分隔的字符串 binding key中可以存在两种特殊字符“”与“#”用于做模糊匹配其中“”用于匹配一个单词“#”用于匹配多个单词可以是零个 当生产者发送消息Routing KeyF.C.E的时候这时候只满足Queue1所以会被路由到Queue中如果Routing KeyA.C.E这时候会被同是路由到Queue1和Queue2中如果Routing KeyA.F.B时这里只会发送一条消息到Queue2中。 headers很少用到 headers类型的Exchange不依赖于routing key与binding key的匹配规则来路由消息而是根据发送的消息内容中的headers属性进行匹配。 在绑定Queue与Exchange时指定一组键值对当消息发送到Exchange时RabbitMQ会取到该消息的headers也是一个键值对的形式对比其中的键值对是否完全匹配Queue与Exchange绑定时指定的键值对如果完全匹配则消息会路由到该Queue否则不会路由到该Queue。 Exchange规则类型名称Exchange规则类型描述fanout把所有发送到该Exchange的消息路由到所有与它绑定的Queue中directRouting KeyBinding Keytopic我这里自己总结的简称模糊匹配headersExchange不依赖于routing key与binding key的匹配规则来路由消息而是根据发送的消息内容中的headers属性进行匹配。 2、队列Queue Queue队列RabbitMQ的作用是存储消息队列的特性是先进先出。上图可以清晰地看到Client A和Client B是生产者生产者生产消息最终被送到RabbitMQ的内部对象Queue中去而消费者则是从Queue队列中取出数据。可以简化成表示为 生产者Send Message “A”被传送到Queue中消费者发现消息队列Queue中有订阅的消息就会将这条消息A读取出来进行一些列的业务操作。这里只是一个消费者对应一个队列Queue也可以多个消费者订阅同一个队列Queue当然这里就会将Queue里面的消息平分给其他的消费者但是会存在一个问题就是如果每个消息的处理时间不同就会导致某些消费者一直在忙碌中而有的消费者处理完了消息后一直处于空闲状态因为前面已经提及到了Queue会平分这些消息给相应的消费者。这里我们就可以使用prefetchCount来限制每次发送给消费者消息的个数。详情见下图所示 这里的prefetchCount1是指每次从Queue中发送一条消息来。等消费者处理完这条消息后Queue会再发送一条消息给消费者。 3、Virtual Hosts 在RabbitMQ中可以虚拟消息服务器VirtualHost每个VirtualHost相当月一个相对独立的RabbitMQ服务器每个VirtualHost之间是相互隔离的。exchange、queue、message不能互通。 4、基础对象 ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的socket链接它封装了socket协议相关部分逻辑。ConnectionFactory为Connection的制造工厂。   Channel是我们与RabbitMQ打交道的最重要的一个接口我们大部分的业务操作是在Channel这个接口中完成的包括定义Queue、定义Exchange、绑定Queue与Exchange、发布消息等。 Connection就是建立一个TCP连接生产者和消费者的都是通过TCP的连接到RabbitMQ Server中的这个后续会再程序中体现出来。 Channel虚拟连接建立在上面TCP连接的基础上数据流动都是通过Channel来进行的。为什么不是直接建立在TCP的基础上进行数据流动呢如果建立在TCP的基础上进行数据流动建立和关闭TCP连接有代价。频繁的建立关闭TCP连接对于系统的性能有很大的影响而且TCP的连接数也有限制这也限制了系统处理高并发的能力。但是在TCP连接中建立Channel是没有上述代价的。 二、RabbitMQ的一些基本操作: 1、用户管理 用户管理包括增加用户删除用户查看用户列表修改用户密码。 (1) 新增一个用户rabbitmqctl add_user Username Password(2) 删除一个用户rabbitmqctl delete_user Username(3) 修改用户的密码rabbitmqctl change_password Username Newpassword(4) 查看当前用户列表rabbitmqctl list_users2、用户角色 按照个人理解用户角色可分为五类超级管理员, 监控者, 策略制定者, 普通管理者以及其他。 (1) 超级管理员(administrator) 可登陆管理控制台(启用management plugin的情况下)可查看所有的信息并且可以对用户策略(policy)进行操作。 (2) 监控者(monitoring) 可登陆管理控制台(启用management plugin的情况下)同时可以查看rabbitmq节点的相关信息(进程数内存使用情况磁盘使用情况等) (3) 策略制定者(policymaker) 可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。 与administrator的对比administrator能看到这些内容 (4) 普通管理者(management) 仅可登陆管理控制台(启用management plugin的情况下)无法看到节点信息也无法对策略进行管理。 (5) 其他 无法登陆管理控制台通常就是普通的生产者和消费者。 了解了这些后就可以根据需要给不同的用户设置不同的角色以便按需管理。 设置用户角色的命令为 rabbitmqctl set_user_tags User Tag User为用户名 Tag为角色名(对应于上面的administratormonitoringpolicymakermanagement或其他自定义名称)。 也可以给同一用户设置多个角色例如 rabbitmqctl set_user_tags hncscwc monitoring policymaker 3、vhost 当我们在创建用户时会指定用户能访问一个虚拟机并且该用户只能访问该虚拟机下的队列和交换机如果没有指定默认的是”/”;一个rabbitmq服务器上可以运行多个vhost以便于适用不同的业务需要这样做既可以满足权限配置的要求也可以避免不同业务之间队列、交换机的命名冲突问题因为不同vhost之间是隔离的。 #添加虚拟机 rabbitmqctl add_vhost vhost_one#删除虚拟机 rabbitmqctl delete_vhost vhost_one#查看虚拟机列表 rabbitmqctl list_vhosts用户权限 对何种资源具有配置、写、读的权限通过正则表达式来匹配具体命令如下 set_permissions [-p ] 其中 的位置分别用正则表达式来匹配特定的资源如’^(amq.gen.*|amq.default)KaTeX parse error: Expected group after ^ at position 29: …的和默认的exchange^̲不匹配任何资源 需要注意的是RabbitMQ会缓存每个connection或channel的权限验证结果、因此权限发生变化后需要重连才能生效。 为用户赋权 rabbitmqctl set_permissions -p vhost1 user_admin ‘.’ .’ ‘.*’ 该命令使用户user_admin具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源 查看权限 rabbitmqctl list_user_permissions user_admin rabbitmqctl list_permissions -p vhost1 4、开启web管理接口 如果只从命令行操作RabbitMQ多少有点不方便。幸好RabbitMQ自带了web管理界面只需要启动插件便可以使用。 rabbitmq-plugins enable rabbitmq_management 访问: http://localhost:15672 5、批量删除队列 # 从内部删除auto_delete 为true的队列需要有delete_queue 命令 queue_names$(rabbitmqctl list_queues name auto_delete -p dev2_saasops | grep true | awk {print $1}) for name in $queue_names; doecho Deleted queue: $namerabbitmqadmin delete_queue $name -p dev2_saasops done# 从外部删除auto_delete 为true的队列 QUEUES$(docker exec -it 7c79cd3a46f1 rabbitmqctl list_queues name auto_delete -p dev2_saasops | grep true | awk {print $1}) for name in $QUEUES; doecho Deleted queue: $namecurl -u paas:123456 -X DELETE http://192.168.230.112:15672/api/queues/dev2_saasops/$name done
http://www.hkea.cn/news/14280872/

相关文章:

  • win7优化大师官方网站做网站客户拖着不验收
  • 电商网站成功的营销策略做ppt网站
  • 网站备案网站名称怎么填2022年企业所得税最新标准
  • 静态网站 搜索编辑图片加文字的软件
  • 李宁网站建设的可行性手机网站分享js代码
  • 洪梅镇做网站福州网站建设资讯
  • 网站打开404错误怎么解决建设局局长
  • 17做网店这个网站做起多少钱建设银行代发工资网站
  • 佛山专业网站建设团队app和手机网站的区别
  • 哪些网站做任务好赚钱h5免费制作平台易企秀
  • 新网站 seo企业级软件
  • 如何制作网站板块广西建设网登录入口
  • 杭州模板网站制作国外营销型网站
  • 做网站不能有中文字符中国最新新闻大事件
  • 记事本做网站怎么改字体单本小说wordpress
  • 河北秦皇岛建设局网站企业官方网站建设教程
  • dreamwearver可以做网站吗wordpress封面图七牛
  • 网站 iss手机应用商店下载app
  • 装修网站怎么做推广佛山注册公司流程和费用标准
  • 如果将域名指向网站1688做网站需要多少钱
  • 做文字云的网站管理一个网站的后台怎么做
  • 建设银行网站未响应张家口网站建设公司
  • 武清做网站网站程序元
  • 哪些网站可以做百科参考资料企业网站多少钱
  • 利用access数据库做网站wordpress 弹框
  • 怎么模仿别人做网站建设银行企业网站打不开
  • 怎样做网站外部样式wordpress有几张表
  • 厦门易尔通网站建设好吗各大网站的404
  • 济南制作网站企业企业网站建设原则是
  • 做感恩网站的图片医疗网站优化