mirror of
https://github.com/eventials/goevents.git
synced 2025-04-24 13:48:53 +08:00
1.4 KiB
1.4 KiB
goevents

Go messaging library
About
goevents
allows to dispatch events between applications.
An application produces events based on actions. Another application consume these events and maybe create new events.
Scenario: If an application produces an event "payment.received", another application may want to delivery the product to the buyer.
Supported Transport
- AMQP
How to use
The consumer
conn, err := NewConnection("amqp://guest:guest@127.0.0.1:5672/")
if err != nil {
panic(err)
}
c, err := NewConsumer(conn, false, "events-exchange", "events-queue")
if err != nil {
panic(err)
}
c.Subscribe("object.*", func(body []byte) bool {
fmt.Println(body)
return true
})
go c.Consume()
conn.WaitUntilConnectionClose()
The producer
conn, err := NewConnection("amqp://guest:guest@127.0.0.1:5672/")
if err != nil {
panic(err)
}
p, err := NewProducer(conn, "events-exchange", "events-queue")
if err != nil {
panic(err)
}
err = p.Publish("object.my_action", []byte("message"))
if err != nil {
panic(err)
}