国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

docker快速安裝rabbitmq的方法步驟

瀏覽:108日期:2024-11-19 16:39:00

一、獲取鏡像

#指定版本,該版本包含了web控制頁面docker pull rabbitmq:management

二、運(yùn)行鏡像

#方式一:默認(rèn)guest 用戶,密碼也是 guestdocker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management#方式二:設(shè)置用戶名和密碼docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 -p 5672:5672 rabbitmq:management

三、訪問ui頁面

http://localhost:15672/

docker快速安裝rabbitmq的方法步驟

四、golang案例

#producer生產(chǎn)者代碼package mainimport ( 'fmt' 'log' 'github.com/streadway/amqp')const ( //AMQP URI uri = 'amqp://guest:guest@10.0.0.11:5672/' // 10.0.0.11為主機(jī)ip //Durable AMQP exchange name exchangeName = '' //Durable AMQP queue name queueName = 'test-queues' //Body of message bodyMsg string = 'hello angel')//如果存在錯(cuò)誤,則輸出func failOnError(err error, msg string) { if err != nil { log.Fatalf('%s: %s', msg, err) panic(fmt.Sprintf('%s: %s', msg, err)) }}func main() { //調(diào)用發(fā)布消息函數(shù) publish(uri, exchangeName, queueName, bodyMsg) log.Printf('published %dB OK', len(bodyMsg))}//發(fā)布者的方法//@amqpURI, amqp的地址//@exchange, exchange的名稱//@queue, queue的名稱//@body, 主體內(nèi)容func publish(amqpURI string, exchange string, queue string, body string) { //建立連接 log.Printf('dialing %q', amqpURI) connection, err := amqp.Dial(amqpURI) failOnError(err, 'Failed to connect to RabbitMQ') defer connection.Close() //創(chuàng)建一個(gè)Channel log.Printf('got Connection, getting Channel') channel, err := connection.Channel() failOnError(err, 'Failed to open a channel') defer channel.Close() log.Printf('got queue, declaring %q', queue) //創(chuàng)建一個(gè)queue q, err := channel.QueueDeclare( queueName, // name false, // durable false, // delete when unused false, // exclusive false, // no-wait nil, // arguments ) failOnError(err, 'Failed to declare a queue') log.Printf('declared queue, publishing %dB body (%q)', len(body), body) // Producer只能發(fā)送到exchange,它是不能直接發(fā)送到queue的 // 現(xiàn)在我們使用默認(rèn)的exchange(名字是空字符)這個(gè)默認(rèn)的exchange允許我們發(fā)送給指定的queue // routing_key就是指定的queue名字 err = channel.Publish( exchange, // exchange q.Name, // routing key false, // mandatory false, // immediate amqp.Publishing{ Headers: amqp.Table{}, ContentType: 'text/plain', ContentEncoding: '', Body: []byte(body), }) failOnError(err, 'Failed to publish a message')}

docker快速安裝rabbitmq的方法步驟

五、擁有消息確認(rèn)的代碼

#producerpackage mainimport ( 'fmt' 'github.com/streadway/amqp' 'log' 'os' 'strings')const ( //AMQP URI uri = 'amqp://guest:guest@10.0.0.11:5672/' //Durable AMQP exchange name exchangeName = '' //Durable AMQP queue name queueName = 'test-queues-acknowledgments')//如果存在錯(cuò)誤,則輸出func failOnError(err error, msg string) { if err != nil { log.Fatalf('%s: %s', msg, err) panic(fmt.Sprintf('%s: %s', msg, err)) }}func main() { bodyMsg := bodyFrom(os.Args) //調(diào)用發(fā)布消息函數(shù) publish(uri, exchangeName, queueName, bodyMsg) log.Printf('published %dB OK', len(bodyMsg))}func bodyFrom(args []string) string { var s string if (len(args) < 2) || os.Args[1] == '' { s = 'hello angel' } else { s = strings.Join(args[1:], ' ') } return s}//發(fā)布者的方法//@amqpURI, amqp的地址//@exchange, exchange的名稱//@queue, queue的名稱//@body, 主體內(nèi)容func publish(amqpURI string, exchange string, queue string, body string) { //建立連接 log.Printf('dialing %q', amqpURI) connection, err := amqp.Dial(amqpURI) failOnError(err, 'Failed to connect to RabbitMQ') defer connection.Close() //創(chuàng)建一個(gè)Channel log.Printf('got Connection, getting Channel') channel, err := connection.Channel() failOnError(err, 'Failed to open a channel') defer channel.Close() log.Printf('got queue, declaring %q', queue) //創(chuàng)建一個(gè)queue q, err := channel.QueueDeclare( queueName, // name false, // durable false, // delete when unused false, // exclusive false, // no-wait nil, // arguments ) failOnError(err, 'Failed to declare a queue') log.Printf('declared queue, publishing %dB body (%q)', len(body), body) // Producer只能發(fā)送到exchange,它是不能直接發(fā)送到queue的。 // 現(xiàn)在我們使用默認(rèn)的exchange(名字是空字符)。這個(gè)默認(rèn)的exchange允許我們發(fā)送給指定的queue。 // routing_key就是指定的queue名字。 err = channel.Publish( exchange, // exchange q.Name, // routing key false, // mandatory false, // immediate amqp.Publishing{ Headers: amqp.Table{}, ContentType: 'text/plain', ContentEncoding: '', Body: []byte(body), }) failOnError(err, 'Failed to publish a message')}

到此這篇關(guān)于docker快速安裝rabbitmq的方法步驟的文章就介紹到這了,更多相關(guān)docker安裝rabbitmq內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Docker
相關(guān)文章:
主站蜘蛛池模板: 日本一区二区三区欧美在线观看 | 亚洲 中文 欧美 日韩 在线人 | 亚洲一级毛片免费在线观看 | 欧美一级片 在线播放 | 亚洲日本一区二区三区在线 | 国产国语在线播放视频 | 亚洲午夜色 | 国产不卡在线视频 | 亚洲欧美一区二区三区久本道 | 国产精品久久久久9999小说 | 精品日本久久久久久久久久 | 国产99精品一区二区三区免费 | 欧美在线观看a | 天堂素人搭讪系列嫩模在线观看 | 久久99这里只有精品国产 | 国产 高清 在线 | 成年人午夜网站 | 亚洲天堂网在线观看 | 亚洲免费视频一区二区三区 | 亚洲国产成人在线视频 | 综合久久91 | 欧美黄色特级视频 | 亚洲欧美日韩国产综合高清 | 成人a毛片免费视频观看 | 97se狠狠狠狠狠亚洲综合网 | 亚洲欧美中文在线观看4 | 国产一线视频在线观看高清 | 欧美三级不卡在线观看视频 | 乱子伦一级在线现看 | 91久久国产精品 | 九九亚洲精品自拍 | 三级中文字幕永久在线视频 | 在线成人欧美 | 澳门一级特黄真人毛片 | 欧日韩视频| 国产成人精视频在线观看免费 | 亚洲国产成人九九综合 | 日本免费在线 | 性欧美在线 | 日本亚州视频在线八a | 国内精品一区二区在线观看 |