package kafka // import ( // "context" // "encoding/json" // "time" // "github.com/segmentio/kafka-go" // ) // type Producer struct { // writer *kafka.Writer // } // func NewProducer(brokers []string, topic string) *Producer { // return &Producer{ // writer: &kafka.Writer{ // Addr: kafka.TCP(brokers...), // Topic: topic, // Balancer: &kafka.LeastBytes{}, // }, // } // } // func (p *Producer) Publish(ctx context.Context, key string, event any) error { // msgBytes, err := json.Marshal(event) // if err != nil { // return err // } // return p.writer.WriteMessages(ctx, kafka.Message{ // Key: []byte(key), // Value: msgBytes, // Time: time.Now(), // }) // }