Welcome to Armeria¶
Armeria is an open-source asynchronous HTTP/2 RPC/REST client/server library built on top of Java 8, Netty, Thrift and gRPC. Its primary goal is to help engineers build high-performance asynchronous microservices that use HTTP/2 as a session layer protocol.
Supports HTTP/2 on both TLS and cleartext connections
Fully compatible with existing HTTP/1 servers
Integration with gRPC and Thrift¶
Your gRPC or Thrift service implementation runs on top of Armeria without any modification.
Works with the official gRPC or Thrift-over-HTTP client
Works with the code generated by the official Protobuf or Thrift IDL compiler
Supports various protocol combinations, such as:
gRPC-over-HTTP/1 & 2
Thrift-over-HTTP/1 & 2
Essential features for building microservices¶
Interactive web-based debug console¶
Browse the list of available RPC operations
Invoke an RPC operation via a web form
Share an RPC request with your colleagues so they can reproduce the problem easily
Just like sharing a cURL command, but works for RPC
Completely asynchronous and reactive¶
Built on top of Reactive Streams and Java 8
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 Java EE web applications¶
- Setting up a project
- Writing a server
- Writing a client
- Advanced topics
- Release notes
- API documentation
- Source cross-reference
- Questions and answers
- Fork me on GitHub