반응형

2024/11 5

Docker Image 폐쇄망 옮기기

1. 이미지 다운로드 및 저장인터넷이 연결된 환경에서 필요한 도커 이미지를 다운로드합니다:docker pull :다운로드한 이미지를 tar 파일로 저장합니다:docker save -o .tar :ex) ‘nginix’ 이미지를 다운로드할 경우docker pull nginx:latestdocker save -o nginx.tar nginx:latest2. 이미지 파일 이동scp, ftp, sftp 등 파일 전송 명령어는 많다.scp를 사용한 예는 다음과 같다.scp [옵션] [파일명] [원격지_id]@[원격지_ip]:[받는위치]scp image.tar root@172.10.50.208:~3. 이미지 로딩 및 태깅폐쇄망 환경에서 tar 파일을 로드합니다:docker load -i nginx.tar로드한 이미..

미들웨어 2024.11.30

장애 대응 문서

현업에서 장애는 예상치 못한 곳에서 항상 발생한다.피할 수 없다면 적극적으로 예방하고, 장애 발생 시 유연하고 빠르게 대처해야 하며, 같은 장애가 재발되지 않도록 조치를 취해야 한다.현업에서의 장애 대응 프로세스는 보통 장애 탐지 및 전파장애 분류 및 해결장애 복구 및 보고장애 회고이렇게 진행된다고 보면 된다.현업에서 장애를 빠르게 감지하기 위해서는 로깅, 모니터링 등의 방법이 있는데, 장애 상황을 감지하기 위해 다양한 조건을 설정하고 모니터링을 통해 장애 확산을 방지할 수 있다.그럼 우리가 자주 볼 수 있는 장애는 어떤 것들이 있고, 어떻게 대응을 하면 좋을지 같이 살펴보자. 외부 서비스 장애 Kafka 사례: 디스크 공간 부족으로 인해 Kafka Broker를 사용할 수 없음실패 원인: Kafka 브..

부하 테스트

목적서비스의 기본적인 성능 테스트 및 예상치 못한 병목 현상이나 장애 상황에 대비하기 위해서 진행한다. 대상 API 콘서트 대기열 시나리오 에 있는 모든 API를 대상으로 테스트를 진행한다.GETapi/v1/concertsapi/v1/concerts/{concertId}api/v1/concerts/{concertId}/datesapi/v1/concerts/dates/{concertDateId}/seatsapi/v1/users/{userId}/balanceapi/v1/reservations/{userId}POSTapi/v1/payments/payapi/v1/reservationsapi/v1/queues/tokenPATCHapi/v1/{userId}/chargeDELETEapi/v1/reservations/..

트랜잭션의 범위 및 내부 로직 융합에 따른 문제점 파악

문제결제 API 쪽 비즈니스 로직의 트랜잭션 생명주기가 길다.결제 API 쪽을 한번 살펴보자.@Component@RequiredArgsConstructorpublic class PaymentFacade { private final PaymentService paymentService; private final UserService userService; private final ConcertService concertService; private final WaitingQueueService waitingQueueService; /** * 결제 요청하는 유즈케이스를 실행한다. * * @param command reservationId, userId 정보 ..

Query 분석 및 DB Index 설계

조회를 할 때 데이터가 얼마 없을 때는 상관없지만, 데이터가 수천, 수만 건의 경우 인덱스가 있냐 없냐의 따라 성능 차이가 엄청 크다고 한다.보통 인덱스는 카디널리티가 높은(중복도가 낮은) 컬럼으로 설정한다고 한다. (참고로 pk는 기본으로 인덱스로 설정되어 있음)예를 들어 주민등록번호의 경우 카디널리티가 높다고 할 수 있다.(Unique 하기 때문에)지금 나의 시나리오(콘서트 대기열)에서 인덱스 추가를 통해 성능을 개선할 수 있는 부분이 있는지 알아보자. 문제콘서트 예약 가능한 좌석을 조회하는 API 의 경우, 실제로 하나의 콘서트장에 5만명이 앉을 수 있는 대형 장소에서 하는 경우가 많다. 콘서트가 1만개만 있어도, 콘서트 좌석 조회하는 데이터는 5억개의 자리의 데이터가 들어가 있을 것이다. 원인테스..

반응형