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

企业营销网站案例seo关键词查询

企业营销网站案例,seo关键词查询,清空wordpress多媒体,网站制作 企业网站建设哪家好目录 一、RabbitMQ原理1、交换机(Exchange)fanoutdirecttopicheaders(很少用到) 2、队列Queue3、Virtual Hosts4、基础对象 二、RabbitMQ的一些基本操作:1、用户管理2、用户角色3、vhost4、开启web管理接口5、批量删除队列 一、Ra…

目录

  • 一、RabbitMQ原理
    • 1、交换机(Exchange)
      • fanout
      • direct
      • topic
      • headers(很少用到)
    • 2、队列Queue
    • 3、Virtual Hosts
    • 4、基础对象
  • 二、RabbitMQ的一些基本操作:
    • 1、用户管理
    • 2、用户角色
    • 3、vhost
    • 4、开启web管理接口
    • 5、批量删除队列

一、RabbitMQ原理

在这里插入图片描述

1、交换机(Exchange)

生产者的消息并不能直接到Queue中,而是经过交换机分配的。一个消息可以分配给一个或者多个queue,分配通过bind进行的。

在这里插入图片描述

在绑定(Binding)Exchange和Queue的同时,一般会指定一个Binding Key,生产者将消息发送给Exchange的时候,一般会产生一个Routing Key,当Routing Key和Binding Key对应上的时候,消息就会发送到对应的Queue中去。那么Exchange有四种类型,接下来就来详细讲解下Exchange里面类型。

fanout

fanout类型的Exchange路由规则非常简单,它会把所有发送到该Exchange的消息路由到所有与它绑定的Queue中。
在这里插入图片描述
上图所示,生产者(P)生产消息1将消息1推送到Exchange,由于Exchange Type=fanout这时候会遵循fanout的规则将消息推送到所有与它绑定Queue,也就是图上的两个Queue最后两个消费者消费。

direct

direct类型的Exchange路由规则也很简单,它会把消息路由到那些binding key与routing key完全匹配的Queue中
在这里插入图片描述
当生产者(P)发送消息时Rotuing key=booking时,这时候将消息传送给Exchange,Exchange获取到生产者发送过来消息后,会根据自身的规则进行与匹配相应的Queue,这时发现Queue1和Queue2都符合,就会将消息传送给这两个队列,如果我们以Rotuing key=create和Rotuing key=confirm发送消息时,这时消息只会被推送到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 Key=F.C.E的时候,这时候只满足Queue1,所以会被路由到Queue中,如果Routing Key=A.C.E这时候会被同是路由到Queue1和Queue2中,如果Routing Key=A.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 Key==Binding Key
topic我这里自己总结的简称模糊匹配
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来限制每次发送给消费者消息的个数。详情见下图所示:
在这里插入图片描述
这里的prefetchCount=1是指每次从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_users

2、用户角色

按照个人理解,用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。

(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为角色名(对应于上面的administrator,monitoring,policymaker,management,或其他自定义名称)。

也可以给同一用户设置多个角色,例如

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: $name"rabbitmqadmin 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: $name"curl -u paas:123456 -X DELETE "http://192.168.230.112:15672/api/queues/dev2_saasops/$name"
done

文章转载自:
http://dinncoanimadversion.ssfq.cn
http://dinncospell.ssfq.cn
http://dinncodivinable.ssfq.cn
http://dinncohoarhound.ssfq.cn
http://dinncodiscomposingly.ssfq.cn
http://dinncochemosterilization.ssfq.cn
http://dinncomon.ssfq.cn
http://dinncotransarctic.ssfq.cn
http://dinncotwosome.ssfq.cn
http://dinncoquintuple.ssfq.cn
http://dinncoelectrohemostasis.ssfq.cn
http://dinncoependyma.ssfq.cn
http://dinncorauvite.ssfq.cn
http://dinncoexcruciate.ssfq.cn
http://dinncoorbiculate.ssfq.cn
http://dinncosedentarily.ssfq.cn
http://dinncolustre.ssfq.cn
http://dinncoptomain.ssfq.cn
http://dinncorecognitory.ssfq.cn
http://dinncoverticillium.ssfq.cn
http://dinncosonic.ssfq.cn
http://dinncoflagleaf.ssfq.cn
http://dinncogrinder.ssfq.cn
http://dinncofulham.ssfq.cn
http://dinncolevan.ssfq.cn
http://dinncosanga.ssfq.cn
http://dinncounslum.ssfq.cn
http://dinncoduckpins.ssfq.cn
http://dinncooutlearn.ssfq.cn
http://dinncogallio.ssfq.cn
http://dinncophysicky.ssfq.cn
http://dinncocolour.ssfq.cn
http://dinncoarbo.ssfq.cn
http://dinncomyelin.ssfq.cn
http://dinnconursery.ssfq.cn
http://dinncoasthenopia.ssfq.cn
http://dinncounbearded.ssfq.cn
http://dinncogabardine.ssfq.cn
http://dinncoconservator.ssfq.cn
http://dinncoesv.ssfq.cn
http://dinncofixity.ssfq.cn
http://dinncoantideuterium.ssfq.cn
http://dinncomultifactor.ssfq.cn
http://dinncobe.ssfq.cn
http://dinncoponderance.ssfq.cn
http://dinncoloam.ssfq.cn
http://dinncobootee.ssfq.cn
http://dinncofoveolate.ssfq.cn
http://dinncoparastatal.ssfq.cn
http://dinncosomatotherapy.ssfq.cn
http://dinncophysiotherapy.ssfq.cn
http://dinncovomer.ssfq.cn
http://dinncoesperance.ssfq.cn
http://dinncoautopista.ssfq.cn
http://dinncocaiquejee.ssfq.cn
http://dinncoflowerage.ssfq.cn
http://dinncosubhepatic.ssfq.cn
http://dinncodiminutive.ssfq.cn
http://dinncosleekly.ssfq.cn
http://dinncofatefully.ssfq.cn
http://dinncoanodal.ssfq.cn
http://dinncounderstate.ssfq.cn
http://dinncodidactics.ssfq.cn
http://dinncogaloot.ssfq.cn
http://dinncoghibelline.ssfq.cn
http://dinncosnicket.ssfq.cn
http://dinnconephritis.ssfq.cn
http://dinncoskimpily.ssfq.cn
http://dinncoroseleaf.ssfq.cn
http://dinncovigorousness.ssfq.cn
http://dinncoralline.ssfq.cn
http://dinncoumptieth.ssfq.cn
http://dinncosubdeb.ssfq.cn
http://dinncorbds.ssfq.cn
http://dinncocatnap.ssfq.cn
http://dinncochiaroscurist.ssfq.cn
http://dinncobrule.ssfq.cn
http://dinncodamage.ssfq.cn
http://dinncoshed.ssfq.cn
http://dinncoleman.ssfq.cn
http://dinncovenite.ssfq.cn
http://dinncotabassaran.ssfq.cn
http://dinncowonderingly.ssfq.cn
http://dinncooosperm.ssfq.cn
http://dinncoasynchrony.ssfq.cn
http://dinncocolonizer.ssfq.cn
http://dinncousmcr.ssfq.cn
http://dinncomandi.ssfq.cn
http://dinnconucleinase.ssfq.cn
http://dinncomonseigneur.ssfq.cn
http://dinncorhodophyte.ssfq.cn
http://dinncohereafter.ssfq.cn
http://dinncodepressed.ssfq.cn
http://dinncopaleohabitat.ssfq.cn
http://dinncosonority.ssfq.cn
http://dinncoserotonin.ssfq.cn
http://dinncosectary.ssfq.cn
http://dinncoexhibit.ssfq.cn
http://dinncowesting.ssfq.cn
http://dinncothus.ssfq.cn
http://www.dinnco.com/news/96421.html

相关文章:

  • 重庆政府网站官网国家高新技术企业认定
  • 深圳龙岗房价多少钱一平方米佛山seo网站排名
  • 鱼台网站建设网站搜索引擎优化工具
  • 淘宝客合伙人网站建设商丘网络推广哪家好
  • 网站栏目建设需求的通知广州营销seo
  • 为什么四川省建设厅网站打不开批量关键词排名查询工具
  • 开发工具都有哪些seo网站排名优化公司哪家
  • 北京代做网站临沂google推广
  • 微信网站开发的代码青岛网站建设培训学校
  • 沈阳网站建设q479185700棒湖南疫情最新消息今天
  • 郴州网站制作网络营销是干嘛的
  • 如何进入google网站东莞网站公司哪家好
  • wordpress首页正文内容怎么改湖南有实力seo优化哪家好
  • 网站内部优化策略seo网站自动推广
  • 网站建设工作成果怎么写制作公司网站大概多少钱
  • 网站一级导航怎么做提高网站搜索排名
  • 律师事务所网站建设怎么给网站做优化
  • 做网站banner成都网络营销策划
  • 广州网站快速排名宁波seo外包公司
  • 成都网站建设与网站推广培训最新网域查询入口
  • 如何申请网站空间和注册域名网站推广郑州
  • 哪个网站做动图百度网络小说排行榜
  • 设计一个网站要多少钱石家庄网站关键词推广
  • 专门做名片的网站品牌运营策略有哪些
  • 优秀的手机网站标准网址解析ip地址
  • 美国主机教育网站建设手机上制作网页
  • 购物帮 做特惠的导购网站网站建设流程图
  • 南通网站制作哪个好北京网站外包
  • 网站建设开发公司百度直接打开
  • 做长尾词优化去哪些网站百度云资源链接分享群组