What is Armeria?
・http://line.github.io/armeria/
・Asynchronous RPC/API client/server library built on top of
・Java 8, Netty 4.1, HTTP/2, and Thrift
Shop Architecture
Thr i f t Proxy
Talk-server
Shop-server Search FE Elast icsearch
Thr i f t web
Thr i f t
DB
Thr i f t REST
Shop Architecture
Thr i f t Proxy
Talk-server
Shop-server Search FE Elast icsearch
Thr i f t REST
Thr i f t web
Thr i f t
Armeria Servers & Clients
DB
Shop Architecture
Thr i f t Proxy
Talk-server
Shop-server Search FE Elast icsearch
Thr i f t REST
Thr i f t web
Thr i f t
Armeria Servers & Clients
DB Client in talk-server
Explore the Armeria World
Benefits of Armeria
・Production-Ready RPC layer ・Affinity with concurrent system ・Easy HTTP/2
Examples with code snippets
Production-Ready RPC layer
Concurrent system Fits for the service processing
・many many ・ independent ・user requests ・with low latency!
i.e. most user-facing mobile services
・Like :)
Go Deeper
Many User Requests ・Which requires multiple backend requests ・ concurrently...
⇒ Many server-to-server requests and resource consumption!?
⇒ Yes and No!
Benefits of Armeria
Armeria fits really well for our use case ・Concurrent system ・Connection management with HTTP/2 ・Easy to integrate with monitoring
How to use Armeria
Code snippets
・Thrift ・HTTP
More Practices
・How we log the metrics and implement Zipkin integration.
Armeria from User point-of-view
Well-abstracted coding patterns
Useful “decorator” support ・Coming with metrics, logging, tracing, …
And More Armeria!
Automated Document generator ・http://line.github.io/armeria/server-basics.html#adding-a-documentation-service
Circuit Breaker ・http://developers.linecorp.com/blog/ja/?p=3684
Client-side Load Balancing ・https://github.com/line/armeria/issues/87
Special Thanks
Armeria Authors ・Trustin Lee ・http://linedevday.linecorp.com/kr/2015/en/#t1s6 ・https://github.com/line/armeria/graphs/contributors
Teammates :)