Ad

hollywood: Ultra-fast Actor Engine for Go

Hollywood delivers extremely fast, low-latency actor model implementations for Go, enabling scalable and fault-tolerant applications like game servers and microservices.
Screenshot of anthdm/hollywood homepage

Hollywood is an ultra-fast actor engine designed for building highly concurrent and distributed systems in Go. It provides a lightweight and customizable actor model focused on speed and low latency, capable of handling millions of messages per second. The core idea is to model computations as independent actors communicating via message passing, enabling efficient handling of failures and complex interactions. Hollywood leverages a high-performance dRPC transport layer and optimized protobuf definitions to achieve its speed.

Hollywood's key strengths include its exceptionally high performance, compiling to WASM for deployment flexibility, guaranteed message delivery even on actor failure, and bundled high-performance dRPC transport layer. Its optimized protobuf support eliminates reflection overhead, contributing to its efficiency. It further distinguishes itself through cluster support for self-discovering actors and a straightforward, easy-to-understand API.

  • Guaranteed Message Delivery: Hollywood provides a buffer mechanism for ensuring message delivery even when actors fail, preventing data loss.
  • High Performance: Built for speed, Hollywood processes a high volume of messages efficiently, making it suitable for performance-critical applications.
  • WASM Compilation: Hollywood can be compiled to WebAssembly (WASM), allowing deployment in various environments, including browsers and serverless functions.
  • Cluster Support: Facilitates the creation of distributed systems by enabling actors to discover and communicate with each other across multiple nodes.
  • Optimized Protobuf: Hollywood uses optimized protobuf definitions to minimize serialization/deserialization overhead.
  • Flexible Messaging: Supports fire & forget and request & response messaging patterns.
  • Developer-Friendly: Provides a clear and concise API for creating and managing actors.

Hollywood is an active project with ongoing development and a growing community. Recent commits and issue activity indicate continued maintenance and improvement. Comprehensive documentation and examples are available, though further community contributions could enhance its overall reliability and ease of use, especially regarding advanced features like cluster management. The project's release history and number of stars suggest a steadily increasing level of adoption.

Hollywood benefits developers building scalable, distributed applications requiring high performance and fault tolerance. It's well-suited for use cases like game servers, advertising platforms, and real-time data processing. By providing a highly efficient actor model and a strong focus on performance, Hollywood significantly simplifies the development of concurrent systems compared to traditional approaches or manual concurrency handling.

Languages:
Summarize:
Share:
Stars
2,329
Forks
179
Issues
23
Created
3 years ago
Commit
3 months ago
License
MIT
Archived
No
Updated 10 days ago

Similar Repositories