예전 포스팅에서 다루었듯, TIFY 프로젝트에서는 서버 에러를 Slack 웹훅으로 받아 Slack에서 확인할 수 있도록 하였다. 에러 로그 말고도 어플리케이션에서 발생하는 쿼리, 트랜잭션 로그와 같은 쓸만한 로그를 보고 성능 개선 / 분석을 할 수 있으니 로그를 쉽게 확인하는 것이 요즘 들어 매우 중요하다고 생각이 들더라,, 그러나 (서버가 한대인데도) Docker 컨테이너 로그를 확인하는 과정이 귀찮아서 막상 잘 들여다 보지 않았었고, 심지어 위 사진에서 볼 수 있듯 필자의 프로젝트에는 Spring Boot 서버가 3개나 돌아가고 있다. 그래서... 0) Effective Log Search & Analytics(ELSA)란? Effective Log Search & Analytics를 도입하기로 했다..
Oriental Unity 프로젝트 기획 당시 어차피 시간도 없는거 그냥 빠르게 MVP로 서비스를 구현하고 리팩토링 & 성능 개선을 목표로 했다. 비록 리팩토링과 성능 개선은 못하고있으나,, 어플리케이션의 성능을 모니터링하고 분석할 수 있는 서비스(APM) 중 하나인 Pinpoint를 도입하고자 했다. 자세한 시연 영상과 코드는 아래 레포지토리에 나와있다. GitHub - hook-killer/document: 프로젝트의 문서, 정보를 기록하기 위한 Repository 프로젝트의 문서, 정보를 기록하기 위한 Repository. Contribute to hook-killer/document development by creating an account on GitHub. github.com GitHub ..
이전 포스팅에서도 언급한 적이 있는 Public Area - Private Area 간의 통신에 대한 포스팅을 진행해보려 한다. 자세한 아키텍쳐나 프로젝트 정보는 아래 레포지토리에 자세히 설명되어있다. GitHub - hook-killer/document: 프로젝트의 문서, 정보를 기록하기 위한 Repository 프로젝트의 문서, 정보를 기록하기 위한 Repository. Contribute to hook-killer/document development by creating an account on GitHub. github.com 0) 발생한 이슈 프로젝트의 아키텍쳐를 보면 알 수 있듯이 어플리케이션 서버는 공인 IP를 가지는 프록시 서버를 통해서만 접속할 수 있게 만들어진 Private Area이..
약 3개월 전에 끝마쳤던 NCP를 이용한 프로젝트이다. 지난 3개월 동안 나태해졌던 나를 탓해야지.. 뼈저리게 반성하며 포스팅 진행하자. 1) 프로젝트 개요 자세한 코드와 개발 과정에 대한 설명은 아래 github의 document 레포에 나타나 있다. 물음표살인마 개발을 함에 있어 항상 왜?를 서로에게 질문하며 곤란하게 만들자는 의미의 팀명입니다. 물음표살인마 has 4 repositories available. Follow their code on GitHub. github.com 더보기 NCP와 NCP에서 제공하는 AI 서비스(챗봇, 번역 등)를 이용한 두번째이자 마지막 프로젝트이다. 1차 프로젝트(Picasso)에서 이 프로젝트를 위해 클라우드 크레딧을 좀 아껴 사용했다면, 2차이자 마지막 프로젝..
스케쥴링의 결과물인 경매 작품의 상태 변화에 따라 사용자에게 메일을 발송하는 작업을 테스트했을 때 발생하는 문제를 위 사진으로 간략하게 나타내었다. (위 사진의 결과는 메일 발송 메소드를 Thread.sleep(500)으로 처리한 결과이다.) 위 사진에서처럼 160개의 상태 변화가 필요한 작품들에 대해 스케쥴링을 적용하였고, 한 작품당 한 사람에게 메일을 보낸다고 가정했을 때 100개의 작품에 스케쥴링을 적용한 후 메일을 보내면 50초의 시간이 걸리고 그 시간 동안 다른 작업(그림의 상태 변경)은 Block되는 현상을 관찰할 수 있었다. 서비스 장애이지 않을 수 없다. 이러한 장애를 비동기를 이용하여 해결해보았다. 1) 코드 변경점 1-1) Application @Slf4j @EnableSchedulin..