🏛️Design Principles
GoAkt is purpose-built to offer a robust, efficient, and straightforward actor framework for building distributed systems in Go. The design decisions behind GoAkt reflect a commitment to simplicity, performance, and seamless integration. Below are the core design principles:
Simplicity at Its Core GoAkt targets the fundamental component of an actor framework as originally envisioned by the pioneer of the actor model. By focusing solely on the essentials, it avoids unnecessary complexity, making it easier for developers to understand and adopt the framework quickly.
Ease of Use The framework has been engineered with developer ergonomics in mind. Its intuitive APIs and minimal setup requirements allow you to start building actor-based applications without a steep learning curve.
Clear Message Contracts with Protocol Buffers
Explicit Serialisation: GoAkt enforces a well-defined contract for inter-actor communication. Instead of custom or hidden serialisation logic, it relies exclusively on Google Protocol Buffers.
Advantages: This approach offers robust versioning, type safety, and efficient binary serialisation, ensuring that messages are structured, consistent, and easy to debug.
Leverage Battle-Tested Libraries Instead of reinventing common solutions, GoAkt builds on existing, proven libraries within the Go ecosystem. This design choice not only accelerates development but also enhances reliability by reusing components that have been validated in production environments.
High Performance Performance is a paramount goal. GoAkt is optimised for speed and low latency, making it suitable for both local and distributed deployments. The framework is designed to handle high-throughput scenarios without compromising on responsiveness.
Extensibility through Custom Interfaces
Modular Integration: GoAkt exposes well-defined interfaces for integration, allowing you to plug in custom modules or extend functionality as needed without being burdened by unnecessary features.
Focused API Surface: By keeping the core API lean and modular, developers can tailor the framework to meet the unique requirements of their applications while maintaining a clear separation of concerns.
Last updated