Skip to content
/ goakt Public

[Go] Fast and Distributed Actor framework using protocol buffers as message for Golang

License

Notifications You must be signed in to change notification settings

Tochemey/goakt

Repository files navigation

GoAkt

build Go Reference GitHub Release GitHub Tag Go Report Card codecov GitHub go.mod Go version

Distributed Go actor framework to build reactive and distributed system in golang using protocol buffers as actor messages.

GoAkt is highly scalable and available when running in cluster mode. It comes with the necessary features require to build a distributed actor-based system without sacrificing performance and reliability. With GoAkt, you can instantly create a fast, scalable, distributed system across a cluster of computers.

If you are not familiar with the actor model, the blog post from Brian Storti here is an excellent and short introduction to the actor model. Also, check reference section at the end of the post for more material regarding actor model.

💻 Installation

go get github.com/tochemey/goakt/v3

📚 Documentation

The complete Documentation can be found here

📝 Examples

Kindly check out the examples' repository.

💪 Support

GoAkt is free and open source. If you need priority support on complex topics or request new features, please consider sponsorship.

🌍 Community

You can join these groups and chat to discuss and ask GoAkt related questions on:

GitHub Discussions GitHub Issues or Pull Requests

🤲 Contribution

Contributions are welcome! The project adheres to Semantic Versioning and Conventional Commits. This repo uses Earthly.

To contribute please:

  • Fork the repository
  • Create a feature branch
  • Submit a pull request

Test & Linter

Prior to submitting a pull request, please run:

earthly +test

📊 Benchmark

One can run the benchmark test from the bench package:

  • make bench to run the benchmark
  • make bench-stats to see the benchmark stats