Akka
Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM using the actor model for Java and Scala. Maintained by Lightbend, Akka provides a comprehensive set of libraries including actors, HTTP, streams, cluster, persistence, and gRPC for building reactive, microservice-based architectures.
APIs
Akka Management
Akka Management provides a suite of utilities for operating Akka-based distributed systems, including an HTTP management API for cluster management, health checks, and cluster b...
Akka HTTP
Akka HTTP is a full HTTP stack (client and server-side) built on Akka actors and streams. It provides a routing DSL for building REST and WebSocket services, with built-in JSON ...
Akka Streams
Akka Streams is a library to process and transfer a sequence of elements using bounded buffer space, implementing the Reactive Streams specification for asynchronous stream proc...
Akka gRPC
Akka gRPC provides support for building streaming gRPC servers and clients on top of Akka Streams, with code generation from protobuf definitions for both Java and Scala.
Capabilities
Akka Cluster Operations
Workflow for monitoring and managing Akka cluster operations including health checks, member management, and cluster bootstrap. For platform engineers and SREs operating distrib...
Run with NaftikoFeatures
Lightweight concurrent entities (actors) that communicate via asynchronous message passing, enabling high-throughput distributed computation.
Distributes actors across a cluster and automatically rebalances them when nodes join or leave the cluster.
Durable actor state through event sourcing with pluggable journal backends (Cassandra, PostgreSQL, DynamoDB, etc.).
Conflict-free replicated data types (CRDTs) for sharing data across cluster nodes without coordination overhead.
Full HTTP/1.1 and HTTP/2 server and client stack with routing DSL, JSON support, and WebSocket upgrades.
Backpressure-aware stream processing compliant with the Reactive Streams specification, integrating with RxJava, Project Reactor, and others.
Use Cases
Teams build resilient, location-transparent microservices using Akka actors and HTTP with built-in backpressure and supervision.
Organizations process high-throughput event streams using Akka Streams with exactly-once processing guarantees.
Applications maintain distributed mutable state using cluster sharding and distributed data without external coordination systems.
Systems implement event sourcing and CQRS patterns using Akka Persistence with pluggable journal backends.
Integrations
Alpakka Kafka connector for consuming and producing Kafka messages
Alpakka Cassandra connector and Akka Persistence journal
Alpakka connectors for S3, SQS, SNS, DynamoDB, and other AWS services
Akka gRPC for code generation from protobuf and streaming gRPC services
Integration with Spring Boot for mixed Akka and Spring applications