Welcome to Armeria¶
Armeria is an open-source asynchronous RPC/API client/server library built on top of Java 8, Netty 4.1, HTTP/2, and Thrift. Its primary goal is to help engineers build high-performance asynchronous Thrift microservices that use HTTP/2 as a session layer protocol, although it is designed to be protocol-agnostic and highly extensible (for example, you can serve a directory of static files via HTTP/2 and run Java EE web applications).
Essential features for building microservices¶
- Circuit breaker
- Distributed call tracing via Zipkin
- Asynchronous connection pool ensures your application never blocks even on pool exhaustion.
- Domain name lookups are also fully asynchronous thanks to Netty’s asynchronous domain name resolver.
Compatibility with existing Thrift implementations¶
- Works with THttpClient, the official Thrift-over-HTTP client
- Works with the code generated by the official Thrift IDL compiler
- Automatically upgrades to HTTP/2 when used with the Armeria client
Compatibility with existing Java EE web applications¶
- Runs any Java EE web applications on the same TCP/IP port
- Your Java EE web application speaks HTTP/2!
- Setting up a project
- Writing a server
- Writing a client
- Advanced topics
- Release notes
- API documentation
- Source cross-reference
- Fork me at GitHub