
RPC Framework
RPC Framework
Airframe RPC supports seamless integration of server and clients using Scala as RPC interfaces.

Designed for Scala and Scala.js
Designed for Scala and Scala.js
Have you ever used slf4 (logging), Jackson (JSON-based serialization), Guice (dependency injection)? Airframe has redesigned these Java-based ecosystem as airframe-log, airframe-codec, and airframe-di in order to maximize the power of Scala and Scala.js

MessagePack-based Object Serialization
MessagePack-based Object Serialization
Airframe uses MessagePack-based schema-on-read codec for fast and compact object serialization. JSON-based serialization is also supported.

Simple Testing Framework
Simple Testing Framework
AirSpec is a simple unit testing framework for Scala and Scala.js. You can use public methods in your classes as test cases. No need to remember complex DSLs for writing tests in Scala.

REST Services
REST Services
airframe-http supports building REST web services by using Scala as an IDL (Interface Definition Language). Airframe provides a ready-to use web server implementation based on Twitter Finagle and built-in JSON/MessagePack-based REST API call mapping to crate microservice API servers and clients at ease
Retry, Rate Control
Retry, Rate Control
Retrying HTTP requests for API calls is an essential technique for connecting microservices. airframe-control will provide essential tools for making your requests reliable with exponential backoff retry, jitter, circuit-breaker, rate control, etc.
HTTP Client and Recorders
HTTP Client and Recorders
Web application development often requires mock web servers. With airframe-http-recorder, you can record and replay the real server responses for running unit tests even if the servers are offline or unreachable from CI environments.
Time Series Data Management
Time Series Data Management
airframe-metrics provides human-friendly time range selectors (e.g., -1d, -1w) and data units for measuring elapsed time (e.g., 0.1s, 1.5h) and data sizes (e.g., GB, PB.)
Fluentd Logging
Fluentd Logging
airframe-fluentd supports logging your metrics to fluentd in a type-safe manner. You just need to send your case classes as metrics for fluentd.