Categorygithub.com/huakwan/message-broker
modulepackage
0.0.6
Repository: https://github.com/huakwan/message-broker.git
Documentation: pkg.go.dev

# README

Current supported broker

  1. Kafka

To add new supported broker

  1. Implement a "Broker" interface
  2. Add a new case to switch in "NewBroker" in "broker.go" file

Configuration options

OptionTypeDescription
BackOffTimeintA delay in seconds between each retry
MaximumRetryintA maximum number of retry
VersionstringA version of Kafka
GroupstringA name of a consumer group
Host[]stringA list of Kafka hosts, eg. "localhost:9092"
DebugboolSet to true to display Kafka log message

Usage example

conf := *common.Config{
    BackOffTime:  2,
    MaximumRetry: 3,
    Version:      "2.5.1",
    Group:        "my-group",
    Host:         []string{"localhost:9092"},
    Debug:        true,
}

broker, err = NewBroker(common.KafkaBrokerType, conf)
if err != nil {
    panic(err)
}

handler := func(ctx context.Context, msg []byte) {
    // Do something
}
broker.RegisterHandler("my-topic", handler)

go broker.Start(func(ctx context.Context, err error) {
    // Do something after broker is cleaned-up
})

msg := []byte("my message")
err = broker.SendTopicMessage("my-topic", msg)

# Packages

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

# Functions

No description provided by the author

# Interfaces

No description provided by the author