CS
2 posts
배포 중 순단을 없애고 싶었을 뿐인데

⚡️ 문제 상황 언젠가부터 백엔드 서버 배포 직후에 아주 짧은 서비스 순단이 일어났다. 배포 직후 외부 API를 호출 할 때 DNS 조회에 실패하는 걸로 추정되었다. 여러번 발생하는 에러가 아니기에 다른 팀원이 애플리케이션 실행 후 트래픽 허용 전, 으로 호출하는 모든 도메인을 한 번씩 조회하도록 배포 스크립트를 수정했다. DNS 조회 결과를 캐싱할 것으로 기대했기 때문이다. 하지만 조치 후에도 여전히 이라는 동일한 에러 메시지와 함께 순단이 발생했다. 순단으로 인해 틀어진 여러 정합을 수동으로 맞춰야 하는 상황을 없애기 위해 이번 스프린트에 해결을 목표했다. 🧶 EAI_AGAIN은 어디에서 오는가 이 코드를 누가 언제 왜 던지는가 부터 알기 위해 라이브러리를 포함해 코드를 검색했는데 나오지 않았다. 그래서 함수 이름으로 추정되는 를 검색해보고, 에러 콜스택도 읽어봤다. 프로젝트 및 노드 모듈 코드 내에 라는 함수는 없었고, 대신 노드 모듈 내의 파일의 주석에 언급이 있었다. …

June 04, 2023
etc
CS
세션의 정체를 찾아서(with 🍪, 🪙)

🔍 세션의 정체를 찾아서 세션의 정의 영어에서 이란 특정 활동이 수행된 기간을 의미한다. 일상 속에서 보자면 나는 꾸준히 PT를 받고 있는데, PT 수업 한 회를 세션이라고 불렀다. 그럼 CS의 세션은 무엇일까? ****을 의미한다. 통신을 하는 동안 세션이 유지된다면 세션의 정보를 이용할 수 있을 것이다. 이런 상태를 이라 부른다. 반대는 라고 부르는데, HTTP 프로토콜이 이에 속한다. (막간 홍보 : HTTP에 관심이 있다면 HTTP 테코톡) HTTP 프로토콜이 이기에, 여러 불편한 상황이 일어난다. 쇼핑몰에서 상품을 장바구니에 담을 때 마다 로그인을 새로 요구한다고 생각해보자. 짜증나서 사려던 것도 안 사고 나가지 않을까? 이런 무상태를 보충하기 위해 상태 유지를 돕는 기술을 함께 사용한다. 그 중 하나가 이다. javax servelet HttpSession 자바 서블릿의 은 인터페이스다. 이 포스팅에서 다룰 내용을 java docs에서 간추려보았다. 유저 정보를 저장함으…

July 09, 2022
Spring
CS