1. 安装 rabbitmq 的 golang 包 golang 可使用库 github.com/streadway/amqp 操作 rabbitmq 。使用下面命令安装 RabbitMQ 。 go get -v github.com/streadway/amqp 2. 生产者流程 在 Golang 中创建 rabbi...
go
go等待一组协程结束的实现方式
go提供了sync包和channel来解决协程同步和通讯。 方式1: sync.WaitGroup是等待一组协程结束,sync.WaitGroup只有3个方法,Add()添加一个计数,Done()减去一个计数,Wait()阻塞直到所有任务完成。 packag...
golang实现rabbitmq之topic模式
上一篇介绍了golang实现rabbitmq之routing模式 .接着就是要说的最后一个模式,topic模式了。这个模式也是在routing模式上进一步升华而来,通过上面的介绍我们知道routing模式最大的特点是可以从生产端来指定消费...
golang实现rabbitmq之routing模式
上一篇介绍了golang实现rabbitmq之订阅模式上面看到订阅模式,是可以做到一个消息由多个消费者消费的,那么可不可以在一个消息由多个消费者消费的基础上还指定由哪些消息者来消费呢? 这个自然也是可以的,而...
golang实现rabbitmq之订阅模式
上一篇介绍了golang实现rabbitmq之work模式上面简单介绍了两种模式,一个是simple模式,另外一个是work模式,他们有一个共同的特点就是一个消息只能被一个消费者消费,那么我们的消息能不能被多个消费者消费呢,...
golang实现rabbitmq之work模式
上一篇介绍了golang实现rabbitmq之simple模式当你弄懂了这个最简单的simple模式后也便可以往后看了。后面的四 种模式全部都是基于这个模式上做的优化或者说是修改。第二种模式:work模式。 那么到此,可能就会...
golang实现rabbitmq之simple模式
golang实现rabbitmq之simple模式 这是最简单的模式了。也就是由生产者将消息送到队列里,然后由消费者到消息队列里来取。在这之前,我们先定义一个RabbitMQ的结构体和我们定义的函数。 package RabbitMq ...
golang 自动化打包并上传到服务器
build-go.sh # !/bin/bash #调用上传文件脚本把打包好的go-admin二进制文件上传到服务器上 echo "复制文件到服务器" echo "CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go" expect ./scpToS...
gin框架下参数的自定义验证小示例
在验证用户传递来的参数时,可以用gin框架的数据验证,可以不用解析数据,减少if else,会简洁许多。如下: package main import ( "fmt" "time" "github.com/gin-gonic/gin" ) //...
gin框架配合go-playground/validator完成json的验证以及json验证错误翻译成中文
安装 go-playground/validator go get github.com/go-playground/validator/v10 代码如下 package main import ( "fmt" "net/http" "reflect" "strings" "github.com/gin-gonic/gin" "...