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

做视频写真网站犯法吗百度网页版怎么切换

做视频写真网站犯法吗,百度网页版怎么切换,响水做网站的,建筑设计甲级资质承接范围RabbitMQ-默认读、写方式介绍 RabbitMQ-直连交换机(direct)使用方法 目录 1、发布/订阅模式介绍 2、交换机(exchange) 3、fanout交换机的使用方式 3.1 声明交换机 3.2 发送消息到交换机 3.2 扇形交换机发送消息代码 3.2 声明队列,用于接收消息 3.3 binding …

RabbitMQ-默认读、写方式介绍
RabbitMQ-直连交换机(direct)使用方法

目录

1、发布/订阅模式介绍

2、交换机(exchange)

3、fanout交换机的使用方式

3.1 声明交换机

3.2 发送消息到交换机

3.2 扇形交换机发送消息代码

 3.2 声明队列,用于接收消息

3.3 binding

4、总结


1、发布/订阅模式介绍

在普通的生产者、消费者模式,rabbitmq会将消息依次传递给每一个消费者,一个worker一个,平均分配,这就是Round-robin调度方式,为了实现更加复杂的调度,我们就需要使用发布/订阅的方式。

2、交换机(exchange)

RabbitMQ中,消息模型的核心理念就是,生产者从来不能直接将消息发送到队列,甚至生产者都不知道消息要被发送到队列中。

相反,生产者只能将消息发送到交换机中,交换机一侧从生产者接收消息,一侧将消息发送到队列中,交换机需要知道如何处理接收到的消息,是发送给一个队列还是多个队列?这是由交换机的类型决定的。

交换机共分为四类:  directtopicheaders and fanout. 本章节以扇形交换机为例说明rabbitmq的使用。

3、fanout交换机的使用方式

扇形交换机,就像你猜测的那样,他可以将他接收到的全部消息广播到所有队列里。

3.1 声明交换机

首先声明一个扇形交换机,type参数设置为『fanout』

err = ch.ExchangeDeclare("logs",   // name"fanout", // typetrue,     // durablefalse,    // auto-deletedfalse,    // internalfalse,    // no-waitnil,      // arguments
)

3.2 发送消息到交换机

交换机设定完成后,就可以往该交换机发送消息:

	body := "Hello World!"err = ch.Publish("logs", "", false, false, amqp.Publishing{ContentType: "text/plain",Body:        []byte(body),})

如果要在rabbitmq的页面上查看发送的消息,需要提前创建一个队列,并绑定到该交换机[logs]上,就可以查看发送的消息:

扇形交换机的特性,就是他会将收到的消息广播给所有绑定到该交换机的队列,我们可以创建多个队列,并绑定到该交换机上,我们发送一次消息,就会看到,所有绑定到该交换机的队列中都会有一条消息,先创建三个队列,并分别绑定到logs交换机:

之后运行脚本,发送两次消息:

 可以看到,三个队列当中都有两条消息。

3.2 扇形交换机发送消息代码

package mainimport ("fmt"amqp "github.com/rabbitmq/amqp091-go"
)func main() {conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")if err != nil {fmt.Println("Failed to connect to RabbitMQ")return}defer conn.Close()ch, err := conn.Channel()if err != nil {fmt.Println("Failed to open a channel")return}err = ch.ExchangeDeclare("logs", "fanout", true, false, false, false, nil)if err != nil {fmt.Println("Failed to declare an exchange")return}body := "Hello World!"err = ch.Publish("logs", "", false, false, amqp.Publishing{ContentType: "text/plain",Body:        []byte(body),})if err != nil {fmt.Println("Failed to publish a message")return}
}

 3.2 声明队列,用于接收消息

	q, err := ch.QueueDeclare("",    // namefalse, // durablefalse, // delete when unusedtrue,  // exclusivefalse, // no-waitnil,   // arguments)

声明队列时,没有指定队列名称,这时,系统会返回一个随机名称存储在q变量中。 

3.3 binding

队列声明完成后,需要将该队列绑定到交换机上,这样交换机才能把消息广播给该队列:

绑定代码: 

    err = ch.QueueBind(q.Name, // queue name"",     // routing key"logs", // exchangefalse,nil,)

消费者侧全部代码如下:

package mainimport ("fmt"amqp "github.com/rabbitmq/amqp091-go"
)func main() {conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")if err != nil {fmt.Println("Failed to connect to RabbitMQ")return}defer conn.Close()ch, err := conn.Channel()if err != nil {fmt.Println("Failed to open a channel")return}err = ch.ExchangeDeclare("logs", "fanout", true, false, false, false, nil)if err != nil {fmt.Println("Failed to declare an exchange")return}q, err := ch.QueueDeclare("",    // namefalse, // durablefalse, // delete when unusedtrue,  // exclusivefalse, // no-waitnil,   // arguments)err = ch.QueueBind(q.Name, // queue name"",     // routing key"logs", // exchangefalse,nil,)msgs, err := ch.Consume(q.Name, // queue"",     // consumertrue,   // auto-ackfalse,  // exclusivefalse,  // no-localfalse,  // no-waitnil,    // args)var forever chan struct{}go func() {for d := range msgs {fmt.Printf(" [x] %s\n", d.Body)}}()fmt.Printf(" [*] Waiting for logs. To exit press CTRL+C")<-forever
}

程序启动后,控制台上会增加一个随机命名的队列。

 运行【3.2】的生产者程序,发送消息到扇形交换机,这个时候消费者就会同步消费到消息,并进行打印:

4、总结

关于扇形交换机,核心的一点需要我们记住,发送到扇形交换机的消息,他会将消息广播给所有绑定到该交换机的队列上,无脑广播,所有队列会同时接受到交换机上全部的消息。


文章转载自:
http://anabolism.kryr.cn
http://drunk.kryr.cn
http://debater.kryr.cn
http://iodinate.kryr.cn
http://investiture.kryr.cn
http://xanthinin.kryr.cn
http://fra.kryr.cn
http://bolograph.kryr.cn
http://coercing.kryr.cn
http://hexagonal.kryr.cn
http://gerundive.kryr.cn
http://aptness.kryr.cn
http://cubitus.kryr.cn
http://spermatozoon.kryr.cn
http://inferrible.kryr.cn
http://vagabondage.kryr.cn
http://operant.kryr.cn
http://contractual.kryr.cn
http://lucrative.kryr.cn
http://peleus.kryr.cn
http://compressed.kryr.cn
http://accept.kryr.cn
http://telepak.kryr.cn
http://lethargic.kryr.cn
http://plp.kryr.cn
http://scoline.kryr.cn
http://alsatia.kryr.cn
http://petticoat.kryr.cn
http://tractarian.kryr.cn
http://anhedonia.kryr.cn
http://phillumeny.kryr.cn
http://snowpack.kryr.cn
http://tracker.kryr.cn
http://volitation.kryr.cn
http://electrooptics.kryr.cn
http://metacompilation.kryr.cn
http://circumbendibus.kryr.cn
http://nullcheck.kryr.cn
http://affective.kryr.cn
http://patriotic.kryr.cn
http://tertschite.kryr.cn
http://scintiscanning.kryr.cn
http://nervine.kryr.cn
http://immunize.kryr.cn
http://lobito.kryr.cn
http://unplastered.kryr.cn
http://turnsick.kryr.cn
http://antideuteron.kryr.cn
http://threesome.kryr.cn
http://hela.kryr.cn
http://tractarianism.kryr.cn
http://iadl.kryr.cn
http://spathiform.kryr.cn
http://duroc.kryr.cn
http://anadenia.kryr.cn
http://zeaxanthin.kryr.cn
http://biconvex.kryr.cn
http://unroost.kryr.cn
http://decasyllabic.kryr.cn
http://ladderproof.kryr.cn
http://betaken.kryr.cn
http://peculation.kryr.cn
http://fangle.kryr.cn
http://epiglottal.kryr.cn
http://phagophobia.kryr.cn
http://rodent.kryr.cn
http://ftpd.kryr.cn
http://illuvial.kryr.cn
http://preterist.kryr.cn
http://detriment.kryr.cn
http://dissolution.kryr.cn
http://unrectified.kryr.cn
http://computerite.kryr.cn
http://predictable.kryr.cn
http://techniphone.kryr.cn
http://vagabondage.kryr.cn
http://hydromechanics.kryr.cn
http://dramalogue.kryr.cn
http://prediabetes.kryr.cn
http://bloodroot.kryr.cn
http://egomania.kryr.cn
http://picky.kryr.cn
http://disbelievingly.kryr.cn
http://sidearm.kryr.cn
http://dulcification.kryr.cn
http://stanvac.kryr.cn
http://lithophane.kryr.cn
http://cambist.kryr.cn
http://apoise.kryr.cn
http://tzigane.kryr.cn
http://bagged.kryr.cn
http://introspectively.kryr.cn
http://kalium.kryr.cn
http://plotinism.kryr.cn
http://amadan.kryr.cn
http://sublineate.kryr.cn
http://dowry.kryr.cn
http://respondentia.kryr.cn
http://incompetence.kryr.cn
http://dramaturgic.kryr.cn
http://www.15wanjia.com/news/85823.html

相关文章:

  • 最火爆的网络游戏排行榜郑州seo外包
  • wordpress与github同步seo搜索引擎优化推荐
  • 跨境独立网站建网站的软件
  • 广州的服装网站建设下载app
  • 做网站建设业务员怎么样seo查询排名系统
  • 网站如何设置微信支付功能中国做网站的公司排名
  • wordpress yinhu无忧seo博客
  • 西安免费网站建站模板新手怎么做网页
  • wordpress建立企业网站四川自助seo建站
  • 河南建设网站官网注册域名在哪里注册
  • 厦门网站建设手机版推广找客户平台
  • 长沙求职网招聘网石家庄seo推广
  • 江宁网站建设seo广告
  • 潍坊市作风建设年网站学it需要什么学历基础
  • 文化公司做网站交文化事业费吗2022近期时事热点素材
  • 长春公司网站推广万维网域名注册查询
  • 那个网站做网站托管免费cms建站系统
  • 温州地区做网站如何做一个自己的电商平台
  • 网站建设 后期维护新app推广去哪里找
  • 规则网站建设百度识别图片找图
  • 焦作网站制作-焦作网站建设-焦作网络公司-维科网络成都网站推广公司
  • 做网站为什么要用php框架seo是如何做优化的
  • 网站访问量大打不开电商平台运营
  • 北京的网站建设公司有哪些百度网页推广怎么做
  • 简单网站php源码下载百度推广客户端手机版
  • 做校园后勤管理网站得重点难点长沙百度网站优化
  • 委托做的网站版权归属哪方郑州seo阿伟
  • 中小互联网企业有哪些优化seo招聘
  • 网站色哦优化8888成都网络推广优化
  • 网站开发做美工百度seo排名