<주로 사용하는 기능들>
HttpResponse.aggregate() : CompletableFuture로 전환.
예) httpClient.get(uri.getPath()).aggregate()
Decorator: req나 response를 살짝바꾸는 역할. SoC(Seperation of Concern)가 가능.
- req,res가 같을 때는 SimpleDecoratorService를 상속 - req나 res의 type의 바뀔때는 DecoratorService를 상속 - 간단한 decorate()용 lambda도 있음.
<유용한 class - armeria thrift용 개발시에도 사용가능>
com.linecorp.armeria.common.metric.MetricLabel
- Collector같은 애들에게, 이름을 붙여서, lambda에서 사용시 지정할 수 있다.
common.util.Functions.voidFunction (Consumer or BiConsumer) : Consumer를 Function으로 변환.
.compose (Func12, Func23) -> Func(1,3)으로 변환. 그 외에도 각종 compose들 존재.
common.HttpHeaders;
common.RequestContext;
server.logging.LoggingService;
<기존 netty꺼긴 하지만..유용class>
io.netty.util.AsciiString;
<Connector>
armeria's TomcatService always create a Request/Response instance.
<-> Tomcat's Http11Processor create them only once and this processor instance will be recycled.
- 기존의 netty와는 달리 Http2.0을 지원한다. HTTP2.0-REF
(기존의 HTTP1 서비스와 호환성도 유지)
- JNI-based socket I/O
- BoringSSL-based TLS connections
- (Apache) Thrift 호환
THttpClient와 호환. (Thrift-Over-Http)
참고: Thrift - Binary communication을 위한 IDL로서 RPC사용을 위해 facebook에서 개발.
- Java EE Web Application이랑 호환. (same TCP/IP port)