EasyWritten
EasyWritten
All Posts
Tags
About
Armeria
Armeria는 어떻게 gRPC를 HTTP/1.1에서 사용할까?
gRPC는 기본적으로 HTTP/2 위에서 동작하는 프로토콜입니다. 그런데 Armeria가 가진 장점 중 하나로 gRPC를 HTTP/1.1 환경에서 gRPC를 사용할 수 있습니다. 비슷한 장점으로 HTTP/1.1 위에서 동작하는 Thrift를 HTTP/2 환경에서 서비스할 수 있습니다. Armeria는 어떻게 이런 유연한 통신 방식을 사용할 수 있을까요?
Youngseo Choi
9월 24, 2023
7 분 읽기
Programming
Armeria에서 request scoping을 쉽게 사용하는 방법
우리에게 익숙한 Tomcat 기반의 Spring Web MVC 서버는 멀티쓰레딩 방식으로 요청이 들어오면 이를 전담하는 쓰레드를 생성하여 처리합니다. 따라서 특별히 별도의 쓰레드를 생성하지 않는 한 하나의 쓰레드가 모든 작업을 실행합니다. 반면 Armeria와 같은 멀티플렉싱 방식은 하나의 요청이 여러 쓰레드를 거쳐 처리될 수 있습니다.
Youngseo Choi
8월 25, 2023
6 분 읽기
Programming
Armeria의 request scoping과 leak 탐지
동기 서버 vs 비동기 서버 Spring + Tomcat과 같은 멀티쓰레딩 방식의 서버는 요청이 들어오면 전담 쓰레드를 생성해서 작업을 처리합니다. 따라서 시간이 오래 걸리는 연산이나 쓰레드를 블록하여 동기 방식으로 IO 작업을 처리한다해도 다른 요청 처리에 영향을 미치지 않습니다.
Youngseo Choi
8월 6, 2023
5 분 읽기
Programming
Zipkin으로 Armeria와 Spring 함께 추적하기
분산 추적과 Zipkin 그리고 Armeria MSA(Micro Service Arhictecture) 환경에서 클라이언트가 보낸 요청은 하나 이상의 서비스를 거쳐 처리됩니다. 이 때 각 서비스가 따로 로그를 남기면 문제가 발생했을 때 원인을 찾는 시간이 오래 걸리고 직관에 의존하여 추론하기 때문에 원인을 잘못 짚는 상황도 발생합니다.
Youngseo Choi
7월 19, 2023
8 분 읽기
Programming
Armeria에서 MDC를 사용해도 될까?
MDC를 그냥 쓰면 안된다 멀티스레드 프로그램에서 여러 스레드가 동시에 요청을 처리할 때 각자 남긴 로그는 컨텍스트 스위칭 때문에 섞여 알아보기 어려워집니다. 이를 해결하기 위해 요청에 ID를 부여하여 같은 ID를 가진 로그들을 묶어서 그 요청에 대한 로그만 볼 수 있습니다.
Youngseo Choi
7월 11, 2023
4 분 읽기
Programming
Armeria의 WebClient를 더 쉽게 테스트하기
이 글은 Add WebTestClient #4339 이슈를 해결하는 과정을 정리한 글입니다. PR까지는 보냈지만 아쉽게도 머지되지는 않았습니다. 그래도 그 과정에서 Armeria의 WebClient가 어떻게 동작하는지 배울 수 있었기 때문에 글로 정리하였습니다. WebClient 소개 Armeria의 WebClient는 Apache HttpClient와 유사하게 HTTP 요청을 보낼 수 있습니다.
Youngseo Choi
7월 3, 2023
7 분 읽기
Programming
Armeria와 Spring Boot Actuator 연동 중 겪은 버그 해결하기
이 글은 Spring과 Armeria 통합 시 사용할 수 있는 인터널 서비스 중 하나인 Actuator 연동 중 겪은 버그에 대해 조사하고 수정하려고 노력…까지 해본 개발기입니다. 만약 연동 방법에 관심이 있으시다면 이전 글인 Armeria Spring Boot 연동 글을 참고하시면 도움이 될 것 같습니다.
Youngseo Choi
7월 1, 2023
4 분 읽기
Programming
Armeria로 WebSocket 서비스 만들기
Armeria 1.24.0 버전이 얼마 전에 릴리즈되었습니다. 해당 버전에서는 웹소켓 지원이 추가되었는데요. 새롭게 추가된 기능을 소개하고 웹소켓 프로토콜을 사용한 간단한 에코 서버를 만들어보면서 배운 것들을 정리해보았습니다. PR을 보고 사용법 알아내기 아직 추가된지 얼마 되지 않은 기능이라 따로 문서가 없어 먼저 WebSocket PR을 통해 어떻게 사용하는지 알아보았습니다.
Youngseo Choi
6월 23, 2023
8 분 읽기
Programming
Armeria & Spring Boot에서 Prometheus 지표 수집하기
Spring 연동하고 Prometheus 지표 수집까지 이전 글인 Armeria와 Spring Boot 연동하기를 통해 기존 Spring Boot에 Armeria를 쉽게 도입하는 방법에 대해 알아보았습니다. Armeria와 Spring Boot를 연동할 때 적용할 수 있는 것들이 꽤 많은데요.
Youngseo Choi
6월 4, 2023
4 분 읽기
Programming
Armeria와 Spring Boot 연동하기
Armeria와 Spring Armeria는 라인에서 개발하여 오픈 소스로 운영되는 프레임워크입니다. Armeria를 이용하면 우리가 잘 아는 REST 서비스 부터 gRPC, Thrift 등의 서비스까지 일관된 인터페이스로 편리하게 개발할 수 있습니다. 하지만 Armeria의 장점을 말로만 듣고 실제 서비스에 곧바로 적용하기란 쉽지 않습니다.
Youngseo Choi
5월 27, 2023
4 분 읽기
Programming
1
2
»
»»
인용
×