mob
Go-MediatR
mob | Go-MediatR | |
---|---|---|
1 | 4 | |
14 | 187 | |
- | - | |
10.0 | 6.3 | |
about 1 year ago | 5 months ago | |
Go | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mob
-
Mediator pattern in Go - is the juice worth to squeeze?
There are some mediator-like libraries like https://github.com/mehdihadeli/Go-MediatR or https://github.com/erni27/mob but they are not used widely like for example their C# sibling https://github.com/jbogard/MediatR. Also, neither I see custom implementations of mediator in many projects.
Go-MediatR
-
go-ecommerce-microservices: A practical e-commerce microservices, built with cqrs, event sourcing, vertical slice architecture, event-driven architecture.
Some of the features: - β Using Vertical Slice Architecture as a high level architecture - β Using Event Driven Architecture on top of RabbitMQ Message Broker with a custom [Event Bus](pkg/messaging/bus/) - β Using Event Sourcing in Audit Based services like [Orders Service](services/orders/) - β Using CQRS Pattern and Mediator Patternon top of Go-MediatR library - β Using Dependency Injection and Inversion of Controlon top of uber-go/fx library - β Using RESTFul api with Echo framework and using swagger with swaggo/swag library - β Using Postgres and EventStoreDB to write databases with fully supports transactions(ACID) - β Using MongoDB and Elastic Search for read databases (NOSQL) - β Using OpenTelemetry for collection Distributed Tracing with using Jaeger and Zipkin - β Using OpenTelemetry for collection Metrics with using Prometheus and Grafana - β Using Unit Test for testing small units with mocking dependent classes and using Mockery for mocking dependencies - β Using End2End Test and Integration Test for testing features with all of their real dependeinces using docker containers (cleanup tests) and testcontainers-go library
-
Mediator pattern in Go - is the juice worth to squeeze?
There are some mediator-like libraries like https://github.com/mehdihadeli/Go-MediatR or https://github.com/erni27/mob but they are not used widely like for example their C# sibling https://github.com/jbogard/MediatR. Also, neither I see custom implementations of mediator in many projects.
- Go-MediatR: A Golang package inspired by the`.Net MediatR` library, for easier implementation of a CQRS style application.
- `Go-MediatR`, implements the mediator pattern in Golang and helpful in creating CQRS-based applications. Inspired by `MediatR` library in the .NET
What are some alternatives?
Bus - πMinimalist message bus implementation for internal communication with zero-allocation magic on Emit
go-food-delivery-microservices - π A practical food delivery microservices, built with golang, domain-driven design, cqrs, event sourcing, vertical slice architecture, event-driven architecture, and the latest technologies.
gosd - A library for scheduling when to dispatch a message to a channel
swag - Automatically generate RESTful API documentation with Swagger 2.0 for Go.
pubsub - A simple pubsub package for go.
copier - Copier for golang, copy value from struct to struct and more
go-observer - Go package for simplifying channel-based broadcasting of events from multiple publishers to multiple observers
mockery - A mock code autogenerator for Go
quamina - Home of Quamina, a fast pattern-matching library in Go
fx - A dependency injection based application framework for Go.
zmq4 - A Go interface to ZeroMQ version 4
Echo - High performance, minimalist Go web framework