rabbitmq


本小节主要介绍如何使用pan快速完成rabbitmq消息的生产,在此不再对rabbitmq做相关的介绍,不太了解rabbitmq的可以去rabbitmq官网阅读相关文档。

1、启动Rabbitmq

  1. ./rabbitmq-server

2、修改pan中rabbitmq相关配置

  1. [RabbitmqProxy]
  2. enable=false
  3. url=amqp://guest:guest@localhost:5672/
  4. valid=test:test log:test//白名单
  5. failMode=retry/save/discard(无限次重试、保存到redis、丢弃)

配置文档请点击这里

3、编译

  1. make

4、运行

  1. ./bin/pan -c ../conf/conf.ini

5、业务代码

业务方往pan中发消息,需要引入rabbitmqutil,具体使用方法如下

使用方法

  1. package main
  2. import (
  3. "fmt"
  4. "time"
  5. "github.com/tal-tech/xtools/rabbitmqutil"
  6. )
  7. func main() {
  8. t := time.Tick(5 * time.Second)
  9. count := 0
  10. for {
  11. select {
  12. case <-t:
  13. count++
  14. s := fmt.Sprintf("rabbitmq %d", count)
  15. err := rabbitmqutil.Send2Proxy("test", "test", []byte(s))
  16. if err != nil {
  17. fmt.Println(err)
  18. }
  19. err = rabbitmqutil.Send2Proxy("test", "test1", []byte(s))
  20. if err != nil {
  21. fmt.Println(err)
  22. }
  23. continue
  24. }
  25. }
  26. }

使用配置

  1. [RabbitmqProxy]
  2. unix=/home/www/pan.xesv5.com/pan.sock //pan的sock文件地址
  3. host=localhost:9999 //pan的ip:port地址

注意事项

注意go.mod文件中替换包

  1. replace github.com/henrylee2cn/teleport v5.0.0+incompatible => github.com/hhtlxhhxy/github.com_henrylee2cn_teleport v1.0.0
  2. replace github.com/henrylee2cn/teleport v0.0.0 => github.com/hhtlxhhxy/github.com_henrylee2cn_teleport v1.0.0