Armeria: The Only Thrift, gRPC, REST Microservice Framework You'll Need

Armeria: The Only Thrift, gRPC, REST Microservice Framework You'll Need

YouTube video:

The founder of Netty introduces a new microservice framework ‘Armeria’. It is unique because:

1. It has Netty-based high-perf HTTP/2 implementation.
2. It lets you run gRPC, Thrift, REST, even Servlet webapp on single TCP port in single JVM.
3. It integrates with various Reactive Streams implementations such as RxJava, Reactor and Spring Webflux.

Armeria is a Netty-based open-source Java microservice framework which provides an HTTP/2 client and server implementation. It is different from any other RPC frameworks in that it supports both gRPC and Thrift. It also supports RESTful services based on Reactive Streams API and even a legacy web applications that run on Tomcat or Jetty, allowing you to mix and match different technologies into a service which means you do not need to launch multiple JVMs or open multiple TCP/IP ports just because you have to support multiple protocols or migrate from one to another.

In this session, Trustin Lee, the founder of Netty project and Armeria, shows:

- What Armeria is.
- How to serve gRPC, Thrift and RESTful services on a single TCP/IP port and a single JVM.
- How to make your legacy Tomcat or Jetty-based application and modern reactive RPC service coexist.
- How to use Armeria’s universal decorator API to apply common functionalities such as circuit breaker, DNS-based service discovery, distributed tracing and automatic retry, regardless of the protocol, which was previously impossible with other RPC frameworks which focused on a single protocol.

Previously presented at:

- TWJUG in Taiwan on Aug 15, 2019
- J on the Beach in Spain on May 16, 2019

Related slides:

- gRPC for the Thrifty: gRPC at Slack, by Josh Wills -
- Armeria: LINE's Next Generation RPC Layer -


Trustin Lee

August 15, 2019