Airframe

Airframe

  • Docs
  • Blog
  • Release Notes
  • GitHub

AirframeEssential Building Blocks For Scala

Get Started
GitHub
Star

RPC Framework

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

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

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

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

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

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

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

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

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.

Airframe
Docs
Documentation
Community
Gitter Chat
More
GitHubStar
airframe logo
Copyright © 2023 wvlet.org