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 Spring Webflux and Reactive Streams.
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:
- J on the Beach in Spain on May 16, 2019
- gRPC for the Thrifty: gRPC at Slack, by Josh Wills - https://static.sched.com/hosted_files/grpconf19/ff/gRPC%20for%20the%20Thrifty.pdf
- Armeria: LINE's Next Generation RPC Layer - https://speakerdeck.com/trustin/armeria-lines-next-generation-rpc-layer