본문 바로가기

전체 글

(42)
Java 8 LocalTime 직렬화 오류 1. 문제 정의 Redis를 이용해서 DB 캐시를 구현하려는 도중, LocalTime 타입의 경우 Serialization Error가 계속 발생했습니다. 이전에 직렬화 에러는 implements Serializable을 사용할 경우 해결한 경험이 있어 시도했지만, 에러는 해결되지 않았습니다. 2. Jackson 직렬화 의존성 추가 implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'이 의존성을 추가하면 해결할 수 있는 문제였습니다. Java 8 LocalTime 타입의 경우, 라이브러리를 통해 직렬화 에러를 해결할 수 있습니다. 의존성을 추가한 후, LocalTime 타입에서 직렬화와 역직렬화 정의를 해주어야 합니..
Loki를 통한 로그 모니터링 이 포스팅은 제가 작성한 UPbrella 프로젝트의 기술 블로그에 작성한 Loki를 통한 로그 모니터링 포스팅을 옮겨온 것입니다. 1. 문제 정의 업브렐라 서버팀은 ELK를 사용하여 로그 모니터링을 하려고 했습니다. 하지만 무거운 ELK를 감당하기에는 서버 비용이 부담이 들었고, 비교적 가볍게 실행할 수 있는 Grafana를 로그 모니터링 툴로 선택하게 되었습니다. 2. Grafana 2 - 1 Grafana란? Grafana는 오픈 소스로 제공되는 대시보드 및 시각화 플랫폼입니다. 이번 포스팅을 통해 Loki와 Promtail로 수집한 데이터를 Grafana로 시각화하는 방법에 대해서 알아보겠습니다. 2 - 2 Grafana 설치 wget으로 Grafana를 다운받고, 압축을 해제해줍니다. wget h..
nGrinder 자동화 이 포스팅은 제가 작성한 UPbrella 프로젝트의 기술 블로그에 작성한 nGrinder 자동화 포스팅을 옮겨온 것입니다. 1. 문제 정의 nGrinder를 사용해서 부하테스트를 하는 이유는 지난 게시글를 통해 알아보았습니다. 하지만 매번 배포를 할때마다 개발자가 nGrinder 서버를 띄워서 테스트 하는건 자원의 낭비라고 생각해서 자동화하기로 결정하였습니다. 2. nGrinder 자동화 도입 2-1 설정하기 java 11 과 docker가 설치되었다고 가정하고 진행하겠습니다. 도커로 ngrinder를 pull 하고 실행해줍니다. sudo docker pull ngrinder/controller:3.5.5-p1latest 버전이 아닌 3.5.5-p1을 명시해준 이유는 3.5.6 이상부터는 Script E..