Categorygithub.com/qosimmax/pubsub
module
1.0.2
Repository: https://github.com/qosimmax/pubsub.git
Documentation: pkg.go.dev

# README

pubsub

install

go get github.com/qosimmax/pubsub

import (
	"context"
	"fmt"

	"github.com/qosimmax/pubsub/events"
	"github.com/qosimmax/pubsub/pkg/kafka"
)

type Order struct {
}
type Customer struct {
}

func (o *Order) create(ctx context.Context, payload []byte) ([]byte, error) {
	fmt.Println("ORDER", string(payload))
	return nil, nil
}

func (c *Customer) create(ctx context.Context, payload []byte) ([]byte, error) {
	fmt.Println("CUSTOMER", string(payload))
	return []byte(`{"success":true}`), nil
}

func main() {

	var (
		orderHandlers    Order
		customerHandlers Customer
	)

	kafkaConfig := kafka.Config{
		Address: "localhost:9092",
		GroupId: "group-id",
	}

	router := events.NewRouter(kafka.NewKafkaSubscribe(&kafkaConfig), kafka.NewKafkaPublisher(&kafkaConfig))
	router.AddNoPublisherHandler("v1.events.order", orderHandlers.create)
	router.AddHandler("v1.events.customer", "v1.events.customer.response", customerHandlers.create)
	_ = router.Run()
}

# Packages

No description provided by the author
No description provided by the author