server


职责

  • 接收业务消息
  • 白名单判断
  • 将消息传给给下游pchan

源码实现

源码实现请见server.go

server结构

  1. type Server struct {
  2. mqs []string //已注册mq类型
  3. tcp net.Listener //tcp监听对象
  4. unix net.Listener //unixSocket监听对象
  5. path string //socket文件地址
  6. Input chan<- []byte //下游pchan中的input管道
  7. locker *sync.RWMutex //锁
  8. counter int64 //成功发送消息计数
  9. failcnt int64 //失败消息计数
  10. validTopic map[string]bool //kafka rocketmq nsa 白名单
  11. validExchange map[string]bool //rabbitmq 白名单
  12. exit chan struct{} //退出信号
  13. }