목록TIL (80)
kjp0411 님의 블로그
TIL - 2026.05.22오늘의 주제부트캠프 수료식 및 전체 과정 회고오늘 한 일오늘은 부트캠프 수료식이 진행되었다.입문 주차부터 숙련, 심화, 최종 프로젝트까지 이어진 과정을 모두 마무리했다.처음에는 기능 하나를 구현하는 것도 어렵게 느껴졌지만, 시간이 지나면서 백엔드 개발 흐름, API 설계, DB 연동, 인증/인가, 배포, 협업 방식까지 실제 프로젝트 중심으로 경험할 수 있었다.특히 최종 프로젝트에서는 단순히 기능을 만드는 것에서 끝나는 것이 아니라, 여러 서비스가 함께 동작하도록 구성하고, 문제 상황이 발생했을 때 원인을 찾고 해결하는 과정을 많이 경험했다.배운 점이번 부트캠프를 통해 가장 크게 느낀 점은 개발은 단순히 코드를 작성하는 일이 아니라는 것이다.기능 구현도 중요하지만, 왜 이런 구..
TIL - 2026.05.21주제최종 프로젝트 개발 키워드 정리프로젝트 개요이번 최종 프로젝트에서는 예매 서비스를 주제로 MSA 기반 티켓팅 시스템을 개발했다.단순히 기능을 구현하는 것뿐만 아니라, 실제 배포 환경에서 여러 서비스를 분리하고, Gateway를 통한 단일 진입점 구성, Keycloak 기반 인증/인가, Eureka 서비스 디스커버리, Config Server를 통한 중앙 설정 관리, AWS 기반 배포와 ALB 이중화까지 경험했다.특히 나는 인프라 및 배포 환경 구성, Gateway 연동, 서비스 간 통신 확인, 운영 환경 문제 해결을 중심으로 프로젝트에 참여했다.개발 키워드 정리키워드사용한 이유설명 가능한 포인트MSA서비스별 책임을 분리하고 확장성을 고려하기 위해 사용user, match,..
TIL - 2026.05.20오늘 한 일오늘은 티켓팅 서비스의 실제 배포 환경에서 프론트 화면 적용, Gateway CORS 검증, Keycloak 권한 설정, 서비스 헬스체크를 중심으로 점검했다.특히 정적 HTML 파일을 서버에 배포하여 현재 외부에서 접근 가능한 데모 화면을 교체했고, ALB를 통해 Gateway로 요청이 정상 전달되는지 확인했다.또한 프론트엔드에서 API 요청 시 발생할 수 있는 CORS 문제를 OPTIONS 요청으로 직접 검증했고, Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers 등이 정상적으로 반환되는 것을 확인했다.주요 작업 내용1. 정적 HTML 배포기존에 작성된 ti..
TIL - 2026.05.19오늘 한 일오늘은 티켓팅 MSA 프로젝트의 배포 환경에서 ALB 기반 이중 애플리케이션 서버 구성과 Gateway CORS 문제 해결을 진행했다.기존에는 단일 EC2 애플리케이션 서버에 서비스들이 배포되어 있었기 때문에, 인프라 담당자가 실시간으로 서버 상태를 확인하고 직접 반영해야 하는 부담이 있었다. 이를 개선하기 위해 main 서버와 main 복제 서버를 구성하고, 두 서버를 ALB 뒤에 배치하여 외부 요청이 로드밸런서를 통해 분산되도록 구성했다.또한 프론트엔드에서 Gateway API를 호출할 때 CORS preflight 요청이 401 Unauthorized로 응답되는 문제가 발생했고, Gateway 보안 설정과 CORS 허용 Origin을 수정하여 해결했다.발생한 ..
TIL - 2026.05.18오늘 한 일오늘은 MSA 티켓팅 시스템의 서비스별 CI/CD 설정을 정리하고, 각 서비스가 GitHub Actions와 GHCR 기반 배포 흐름에 맞게 동작하도록 수정했다.주요 작업은 다음과 같다.club-service CI/CD 설정 확인match-service CI/CD 설정 확인payment-service CI/CD 설정 확인queue-service CI/CD 설정 확인reservation-service CI/CD 설정 확인seat-service CI/CD 설정 확인테스트 실행 시 불필요한 인프라 의존성 비활성화PR 머지 후 로컬 및 EC2 환경에서 최신 dev 브랜치 반영docker-compose.app.yml 기준으로 서비스 재시작 및 정상 동작 확인CI/CD를 도입..
TIL - 2026.05.15오늘 한 일오늘은 EC2 배포 환경에서 서비스를 최신화하면서, 배포 이후 추가로 발생한 인증/인가 및 환경 설정 문제를 해결했다.단순히 컨테이너를 띄우는 것에서 끝나는 것이 아니라, 실제 Gateway를 통해 API가 정상 동작하는지 확인하고, 서비스 간 설정 불일치 문제를 하나씩 정리했다.1. Gateway 권한 설정 추가 및 수정배포 후 API 테스트를 진행하면서 일부 API가 Gateway에서 제대로 권한 제어되지 않는 문제가 있었다.특히 예매, 좌석 관련 API는 서비스 내부에서만 검증하는 것이 아니라, Gateway 단계에서 먼저 인증/인가를 처리해야 했다.문제 상황Gateway를 통해 API 요청 시 권한 검증이 누락될 수 있음특정 API는 로그인 사용자만 접근 가..
TIL - 2026.05.14오늘 한 일오늘은 티켓팅 MSA 프로젝트의 1차 배포를 마무리했다.기존에는 로컬 Docker Compose 환경에서 Gateway, Eureka, Config Server, Keycloak, Redis, Kafka, PostgreSQL, 각 서비스들을 함께 실행하며 통합 테스트를 진행했다.이후 배포 환경에서는 EC2 인스턴스에 Docker Compose 기반으로 서비스를 올리고, Gateway를 통해 각 API가 정상적으로 동작하는지 확인했다.특히 배포 전에는 다음 항목들을 집중적으로 점검했다.Docker Compose 환경 변수 정리서비스별 포트 및 컨테이너 네트워크 확인Gateway 라우팅 설정 확인Eureka 서비스 등록 상태 확인Keycloak JWT 인증 설정 확인관..
TIL - 2026.05.14오늘 한 일오늘은 티켓팅 MSA 프로젝트에서 배포 전 보안 흐름을 점검하고, Gateway 기준의 Role 권한 제어와 Club Admin 가입/승인 흐름을 정리했다.기존에는 각 서비스에서 개별적으로 권한을 판단하거나, 테스트 편의를 위해 일부 서비스의 Security 설정을 permitAll()로 열어둔 상태였다.하지만 실제 배포 전에는 사용자의 역할에 따라 접근 가능한 API를 명확히 제한해야 하므로, Gateway에서 JWT 토큰을 검증하고 Role 기반으로 요청을 제어하는 방향으로 정리했다.1. Gateway Role 기반 권한 제어 정리Gateway는 Keycloak에서 발급한 JWT 토큰을 검증하고, 토큰에 포함된 사용자 Role 정보를 기준으로 API 접근 권한을..
TIL - 2026.05.12오늘 한 일오늘은 MSA 티켓팅 프로젝트의 Docker Compose 기반 통합 실행 구조를 정리하고, 로컬 환경에서 전체 서비스를 실행한 뒤 Gateway를 통한 핵심 API 흐름을 검증했다.기존에는 각 서비스가 개별 폴더로 분리된 멀티레포 구조였지만, Docker Compose로 한 번에 실행하기 위해 ticketing-system 안에 서비스 폴더를 넣는 형태로 잠시 구성했었다.하지만 이 방식은 서비스별 Git Repository와 ticketing-system Repository의 코드 관리 기준이 섞일 수 있어 장기적으로는 위험하다고 판단했다.그래서 최종적으로는 아래와 같은 멀티레포 구조를 유지하기로 했다.ticketing/├── user-service/├── clu..
TIL - 2026.05.11오늘 한 일MSA 티켓팅 프로젝트의 배포 인프라 구성을 검토했다.기존에는 로컬 Docker Compose 환경에서 Gateway, Eureka, Config Server, 각 도메인 서비스를 실행하며 통합 테스트를 진행했지만, 이제는 실제 사용자 접속과 포트폴리오 데모까지 고려한 운영형 배포 구조를 설계해야 했다.초기에는 다음과 같은 구조를 고민했다.인프라 인스턴스KafkaRedisPrometheusGrafanaZipkinKeycloak서비스 인스턴스Config ServerEureka ServerUser ServiceClub ServiceMatch ServiceSeat ServiceReservation Service트래픽 인스턴스Queue ServicePayment Servi..
