| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package main
- import (
- "encoding/json"
- "fmt"
- "log"
- "math/rand"
- "strconv"
- "time"
- "zero/core/cmdline"
- "zero/kq"
- )
- type message struct {
- Key string `json:"key"`
- Value string `json:"value"`
- Payload string `json:"message"`
- }
- func main() {
- pusher := kq.NewPusher([]string{
- "172.16.56.64:19092",
- "172.16.56.65:19092",
- "172.16.56.66:19092",
- }, "kevin")
- ticker := time.NewTicker(time.Millisecond)
- for round := 0; round < 3; round++ {
- select {
- case <-ticker.C:
- count := rand.Intn(100)
- m := message{
- Key: strconv.FormatInt(time.Now().UnixNano(), 10),
- Value: fmt.Sprintf("%d,%d", round, count),
- Payload: fmt.Sprintf("%d,%d", round, count),
- }
- body, err := json.Marshal(m)
- if err != nil {
- log.Fatal(err)
- }
- fmt.Println(string(body))
- if err := pusher.Push(string(body)); err != nil {
- log.Fatal(err)
- }
- }
- }
- cmdline.EnterToContinue()
- }
|