개발일기
개발자를 잠 못 들게 만드는 코드라는 글을 읽으며...
dev-note-404
2024. 5. 21. 17:26
728x90
반응형
https://dev.gmarket.com/103?utm_source=oneoneone
개발자를 잠 못 들게 만드는 코드
안녕하세요 VI Engineering 팀 김윤제입니다.Gmarket Mobile Web Vip(View Item Page = 상품 상세)를 담당하고 있는 Backend Engineer 입니다. 이번 블로그는 개발자를 잠 못 들게 만드는 코드 (잠 못 드는 밤 Feat: 내
dev.gmarket.com
이 블로그를 토대로 작성함.
1. try~catch 무시
public Result getItem(){
try{
}
catch(Exception ex){
//예외처리 해주지 않음
}
}
catch 부분을 비워두면 안된다!!!
2. 대규모 트래픽 환경에서 API Timeout
public Result getItem() {
try {
result = ApiHelper.CallAPI<Result>(
"GET",
ApiHelper.MakeUrl("v1/api/getItem"),
5000
);
}
catch(Exception ex) {
logger.error(ex.getMessage());
}
}
상황설명)
API를 처리해주는 곳에서 5초에 응답을 주면 catch에 걸리지 않고 정상 응답으로 처리되기 때문에 고객은 5초를 더 기다려야 함..API를 처리해 주는 곳에서 6초에 응답을 주면 catch에 걸리게 되고 잘못된 응답으로 처리되기 때문에 고객은 6초를 기다려놓고 상품 정보도 못 보는 상황이 된다.
timeout 5000ms 는 5초임. 단 시간에 트래픽 증가 시 API 호출이 많아질텐데 트래픽 부하가 생겨 지연이 발생할것이다.
상품 상세 페이지라고 가정했을때 고객들은 다른 사이트를 이용할 것이다.
728x90
반응형