LINE에서 OpenChat 서비스의 백엔드 개발을 담당하고 있습니다.
시작하며 이전 글 Armeria에서 Prometheus 지표 모니터링하기에서 Armeria 지표를 Grafana로 모니터링하는 방법을 살펴봤습니다. 이번 글에는 Armeria에서 필요에 따라 지표를 커스터마이징하는 방법을 알아보겠습니다. 이번 글에서 사용한 코드는 Armeria에서 Prometheus 지표 모니터링하기 글의 예제 코드를 재사용했습니다. MeterIdPrefixFunction 이용해 지표 프리픽스 이름 커스터마이징하기 이전 글에서 MeterIdPrefixFunction#ofDefault 함수를 이용해 지표의 기본 프리픽스 이름을 설정할 수 있다는 것을 말씀드렸는데요. 이때 MeterIdPrefixFunction#andThen 함수를 이용하면 이 프리픽스 이름을 더욱 다양하게 커스터마이징할 수 있습니다. HTTP 메서드 이름을 메트릭의 프리픽스 이름으로 추가하고 싶다
시작하며 이번 글에서는 Armeria에서 수집한 Prometheus 지표를 모니터링하는 방법을 살펴보겠습니다. Armeria를 처음 사용해 보시는 분들도 쉽게 따라 할 수 있도록 간단한 실습 예제와 함께 작성했습니다. 실습 실습은 macOS Big Sur 환경에서 진행했습니다. 실습을 진행하기 위해 Gradle과 Prometheus, Grafana를 어떻게 설치하고 설정했는지 함께 알아보고, 테스트 결과를 확인해보겠습니다. Gradle 설정 Armeria 서버의 Prometheus 지표를 수집하기 위해 'build.gradle' 파일에 아래와 같은 디펜던시를 정의했습니다. build.gradle dependencies { // Armeria implementation "com.linecorp.armeria:armeria:1.8.0" implementat
LINE DEVELOPER DAY 2020에서 주승환 님이 발표하신 The journey to the automated deployment in OpenChat server 세션 내용을 옮긴 글입니다. 안녕하세요. 오픈챗 데브(OpenChat dev) 팀 주승환입니다. 저희 팀에서는 릴리스를 자동화하기 위해 그동안 많은 노력들을 해왔고 그 결과 클릭 한 번으로 전체 릴리스를 수행할 수 있게 되었습니다. 이번 세션에서는 그 과정에서 저희가 고민했던 부분들과 자동화를 통해 무엇을 얻었는지 공유하려고 합니다. 먼저 오픈챗 서버의 릴리스 방식을 소개하고 기존 프로세스의 문제점과 자동화를 통해 이루고자 했던 목표를 설명하겠습니다. 그다음 각각의 파트를 자동화한 방식과 그 결과를 설명하고 마지막으로 앞으로 남아 있는 과제를 공유하겠습니다. 오픈챗 서버 개발 팀의 릴리스 프로세스 먼저 오픈챗 서버
안녕하세요. LINE에서 OpenChat 서비스의 백엔드를 개발하고 있는 주승환입니다. 이번 글에서는 간단한 코드 예제와 함께 Armeria의 서킷 브레이커 기능을 사용해 본 내용을 공유하고자 합니다. 서킷 브레이커란? 만약 예상치 못한 장애(네크 워크 이슈 혹은 서버 다운 등)가 발생하여 어떤 원격 서버 하나가 요청에 응답하지 못하는 상태라고 가정해 보겠습니다. 이때 해당 서버로 요청을 보낸 클라이언트는 타임아웃이 발생할 때까지 응답을 기다리거나 계속 무의미한 요청을 보내며 자원을 낭비하게 될 것입니다. MSA(Microservice Architecture)에서는 이 클라이언트가 또 다른 누군가의 서버가 될 수도 있는데요. 그렇다면 이 서버의 클라이언트 역시 똑같은 문제를 겪게 될 것입니다. 이렇게 장애가 계속 전파되며 한 원격 서버에서 발생한 장애가 모든 시스템에 큰 영향을 줄 수 있습니
시작하며 작년 1월에 LINE에 입사했고, 믿기 힘들게도 어느덧 입사한 지 2년이 다 되어 갑니다. 이 글을 쓰며 회사란 참 시간이 빨리 흘러가는 무서운 공간이라는 것을 다시 한 번 느낍니다. 근 2년간 제가 LINE이라는 회사에 다니며 신입 개발자의 시선으로 바라본 회사의 모습과, 또 그 속에서 느낀 점을 자유롭게 적어보았습니다. 내가 생각했던 LINE 입사하기 전, 'LINE' 하면 가장 먼저 떠올랐던 이미지는 '실력이 좋은 개발자들이 많이 모인 IT 회사'였습니다. 제 주변에서도 LINE 개발자라고 하면 다들 개발 잘 하는 개발자라고 생각하고 있었고, 저 또한 글로벌 메신저 앱을 서비스하며 엄청난 트래픽을 감당하고 있는 만큼 높은 기술을 요구하는 회사일 거라고 생각했습니다. 이후 면접을 보러 면접 장소로 이동하면서 회사 내에 자리한 카페를 포함해 잠시나마 오피스 환경을 체험해 볼 수 있었는데요. 인테리어나 직원들의 옷차림, 회의하는 모습을 보