A collection of idiomatic, small, general-purpose Scala utilities for time, futures, pooling, and hashing.
Twitter Util is a Scala library providing a suite of general-purpose utilities for building concurrent and distributed systems. It solves common problems like time management, asynchronous programming with futures, resource pooling, and consistent hashing, offering reliable components tested at scale.
Scala developers building high-performance, concurrent applications, especially those working on distributed systems or services requiring robust resource management and asynchronous patterns.
Developers choose Twitter Util for its production-proven reliability, idiomatic Scala design, and comprehensive set of utilities that simplify complex tasks like futures with interrupts, time arithmetic, and consistent hashing without reinventing the wheel.
Wonderful reusable code from Twitter
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Actively maintained and used in production at Twitter and other organizations, ensuring robustness for high-scale applications.
Emphasizes composable, small modules that integrate seamlessly into Scala codebases, promoting clean and maintainable code.
Provides a full set of tools including futures with interrupts, object pools, and hashing utilities, reducing the need for multiple external libraries.
Offers unique interrupt support for futures, allowing fine-grained control over asynchronous operations not available in standard Scala futures.
The project does not follow semantic versioning, leading to potential breaking changes between releases as noted in detailed changelogs.
Tightly coupled to Scala, making it unsuitable for projects using other JVM languages or seeking cross-platform compatibility.
Interrupts require manual setup with setInterruptHandler, which can be error-prone and adds complexity compared to simpler future cancellation models.