开源软件名称:kiteq-client-go
开源软件地址:https://gitee.com/blackbeans/kiteq-client-go
开源软件介绍:
kiteq-client-gokiteq-client-go is kiteq's go client 工程结构kiteq/├── README.md├── log log4go的配置├── benchmark KiteQ的Benchmark程序├── client KiteQ的客户端 启动客户端: 对于KiteQClient需要实现消息监听器,我们定义了如下的接口: type IListener interface { //接受投递消息的回调 OnMessage(msg *protocol.StringMessage) bool //接收事务回调 // 除非明确提交成功、其余都为不成功 // 有异常或者返回值为false均为不提交 OnMessageCheck(tx *protocol.TxResponse) error } 启动Producer : producer := client.NewKiteQClient(${zkhost}, ${groupId}, ${password}, &defualtListener{}) producer.SetTopics([]string{"trade"}) producer.Start() //构建消息 msg := &protocol.StringMessage{} msg.Header = &protocol.Header{ MessageId: proto.String(client.MessageId()), Topic: proto.String("trade"), MessageType: proto.String("pay-succ"), ExpiredTime: proto.Int64(time.Now().Unix()), DeliveryLimit: proto.Int32(-1), GroupId: proto.String("go-kite-test"), Commit: proto.Bool(true)} msg.Body = proto.String("echo") //发送消息 producer.SendStringMessage(msg) 启动Consumer: consumer:= client.NewKiteQClient(${zkhost}, ${groupId}, ${password}, &defualtListener{}) consumer.SetBindings([]*binding.Binding{ binding.Bind_Direct("s-mts-test", "trade", "pay-succ", 1000, true), }) consumer.Start() Bingo 完成发布和订阅消息的功能了..... |
请发表评论