Popularity
3.1
Growing
Activity
0.0
Stable
37
4
7
Programming language: Go
License: MIT License
Tags:
Messaging
Latest version: v0.2.0
event alternatives and similar packages
Based on the "Messaging" category.
Alternatively, view event alternatives based on common mentions on social networks and blogs.
-
Confluent Kafka Golang Client
confluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform. -
NATS Go Client
A lightweight and high performance publish-subscribe and distributed queueing messaging system -
NATS
A lightweight and highly performant publish-subscribe and distributed queueing messaging system. -
Mercure
Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events). -
Gollum
A n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations. -
mangos
Pure go implementation of the Nanomsg ("Scalable Protocols") with transport interoperability. -
emitter
Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. -
messagebus
messagebus is a Go simple async message bus, perfect for using as event bus when doing event sourcing, CQRS, DDD. -
guble
A messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence. -
Commander
A high-level event driven consumer/producer supporting various "dialects" such as Apache Kafka. -
go-res
Package for building REST/real-time services where clients are synchronized seamlessly, using NATS and Resgate. -
jazz
A simple RabbitMQ abstraction layer for queue administration and publishing and consuming of messages. -
rmqconn
RabbitMQ Reconnection. Wrapper over amqp.Connection and amqp.Dial. Allowing to do a reconnection when the connection is broken before forcing the call to the Close () method to be closed.
Get performance insights in less than 4 minutes
Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
Sponsored
scoutapm.com
Do you think we are missing an alternative of event or a related project?
Popular Comparisons
README
Event
This is package implements pattern-observer
Fast example
import (
"github.com/agoalofalife/event"
)
func main() {
// create struct
e := event.New()
// subscriber
e.Add("push.email", func(text string){
// some logic
}, "text")
// init event
e.Fire("push.email") // or e.Go("push.email")
}
let us consider an example:
- You must first create the structure
- Next, the first argument declares the name of the event (string type), second argument executes when the event occurs, the third argument is passed a list of arguments, which are substituted in the parameters of the second argument.
- In the end you need to run the event. There are two methods available "Go" and his alias "Fire"
The subscriber function method
type Email struct {
count int
}
func (e *Email) Push() {
e.count += 1
fmt.Printf("Push email again, count %d \n", e.count)
}
func main() {
e := event.New()
email := new(Email)
e.Add(email, email.Push)
e.Fire(email)
e.Fire(email)
}
// output
// Push email again, count 1
// Push email again, count 2
Bench
// create struct and add new event handler
BenchmarkAdd-8 1000000 1482 ns/op
// create struct and add new event handler and N run this handler
BenchmarkGo-8 5000000 339 ns/op
- In this example we sign the event method structure
Read more information in examples :+1: