前面我们已经说明了Simple模式的实现,下面我们会说明其他模式的使用和实现
1、Work 工作模式
特点:一个消息只能被一个消费者获取,也就是说一个消息只能被消费一次。其实就是多了些消费者
使用场景: 生产消息的速度 大于 消费消费消息的速度,还句话说就是减少系统的负载
代码实现
和Simple模式类似,就是多了一个mainWorkReceive.go,代码都是一样的。
RabbitMQWork/mainWorkPublish.go
package main import ( "demo/RabbitMQ" "fmt" "strconv" "time" ) func main() { rabbitmq := RabbitMQ.NewRabbitMQSimple("testSimple") for i := 0; i <= 100; i++ { rabbitmq.PublishSimple("Hello Test! "+strconv.Itoa(i)) time.Sleep(1*time.Second) fmt.Println(i) } }