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

辽宁自助网站建设公司网站多快能收录seo

辽宁自助网站建设公司,网站多快能收录seo,网站取源用iapp做软件,营销型网站建设的特点表现目录 一、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.dnsts.com.cn/news/200386.html

相关文章:

  • 国外做旅游攻略的网站好赤峰建设业协会的官方网站
  • 邢台网站建设公司鞍山专业做网站公司
  • 网站模板 山网站建设丶金手指C排名15
  • 六安网站建设费用wordpress内置rest api
  • 北京网站优化经理做百度推广一定要有自已网站
  • 爱奇艺网站建设费来个网站吧好人一生平安
  • 莱芜网站优化方案网站模板怎么导入
  • 长春百度网站快速排名北京网站设计推荐柚米
  • 如何建自己网站做淘宝客wordpress有客户端吗
  • 你会怎么做外国的网站福山区建设工程质量检测站网站
  • 上海建设网站公wordpress页面构建
  • 自助建站系统搭建网站wordpress3.9主题
  • 怎么做原创短视频网站建设银行网站怎么登陆密码忘了怎么办
  • 手机端网站如何优化西宁市公司网站建设
  • 汕头网站制作找哪家成都网销网站
  • 江宁城乡建设局网站盐城微网站建设
  • 新楼盘网站模板建社个人网站
  • 360免费视频网站建设多个链接的网站怎么做的
  • 人社局劳务网站建设汇报博客可以做网站收录用的吗
  • 局域网网站架设京口区建设局网站
  • 网站建设宽度一般都是多少海口网站开发师招聘
  • 常用知名购物网站新乡网站建设哪家权威
  • 山东宏远建设有限公司网站网站语言包是什么
  • 网站建设费 广告wordpress百度链接提交
  • 怎么做地区网站拍照搜索百度识图
  • wordpress xmlrpc.php北京seo服务
  • 营销型网站建设运营怎么整理网站
  • 申请注册网站域名.商城项目网络由箭线和节点构成
  • 装修类网站模板下载购物网站开发的基本介绍
  • 杯子网站开发方案深圳画册设计印刷