package Nats import ( "Cold_Api/conf" "Cold_Api/logs" "fmt" "github.com/nats-io/nats.go" ) var Nats *nats.Conn func init() { var err error // 连接Nats服务器 Nats, err = nats.Connect("nats://" + conf.NatsServer_Url) if err != nil { fmt.Println("nats 连接失败!") panic(err) } logs.Println("nats OK!") } func NatsInit() { //// 发布-订阅 模式,异步订阅 test1 //_, _ = Nats.Subscribe("test1", func(m *nats.Msg) { // fmt.Printf("Received a message: %s\n", string(m.Data)) //}) //// 队列 模式,订阅 test2, 队列为queue, test2 发向所有队列,同一队列只有一个能收到消息 //_, _ = Nats.QueueSubscribe("test2", "queue", func(msg *nats.Msg) { // fmt.Printf("Queue a message: %s\n", string(msg.Data)) //}) //// 请求-响应, 响应 test3 消息。 //_, _ = Nats.Subscribe("test3", func(m *nats.Msg) { // fmt.Printf("Reply a message: %s\n", string(m.Data)) // _ = Nats.Publish(m.Reply, []byte("I can help!!")) //}) }