devmoa

자바 Stomp Client 성능 개선기

하이퍼커넥트·2020년 3월 23일·00
StompJavanon-blockingNettyperformance improvementApache Commons Pool

AI 요약

Beta

하이퍼커넥트 Backend Dev1팀에서 자체 구현한 Stomp client의 성능 개선 경험을 공유합니다. 기존 Stomp client는 프로덕트 특성상 Message broker 서버와 함께 직접 구현하여 사용하고 있었으나, 마이크로서비스 분리 후 낮은 사양의 환경에서 CPU 점유율이 높아지는 등 불안정한 모습을 보였습니다.

get()` 메소드를 사용한 동기적 작업 처리 방식에 있었습니다. get()`으로 인한 blocking 오퍼레이션이 Connection 반납 시간을 지연시켜 동시 처리량 증대를 위해 Connection 수를 늘려야 하는 비효율이 발생했습니다.

글에서는 이러한 blocking 구조를 개선하여 모든 작업을 비동기적으로 처리함으로써 스레드 간 경쟁 없이 작업을 진행하고 성능과 안정성을 향상시킨 경험을 다룹니다. ing 오퍼레이션이 Connection 반납 시간을 지연시켜 동시 처리량 증대를 위해 Connection 수를 늘려야 하는 비효율이 발생했습니다. 글에서는 이러한 blocking 구조를 개선하여 모든 작업을 비동기적으로 처리함으로써 스레드 간 경쟁 없이 작업을 진행하고 성능과 안정성을 향상시킨 경험을 다룹니다.

이 글이 궁금하신가요?

원문 블로그에서 전체 내용을 확인해 보세요

원문 읽으러 가기

AI 추천 연관 게시글

이 글과 관련된 다른 기술 블로그 글을 AI가 추천합니다