프로젝트 8

최종 프로젝트 트러블슈팅 + 기술적 의사 결정

트러블 슈팅CDN Server 같은 이미지 동시 요청 시 DB 및 storage service 여러 번 가는 문제대용량 이미지 업로드 시 CDN URL 생성 오래 걸리는 문제이미지 정보 FeignClient 전송 시 문제 기술적 의사 결정CDN Server 도입으로 조회 및 다운로드 성능 향상CDN Server 캐싱 동작 구현 방법 CDN Server 같은 이미지 동시 요청 시 DB 및 storage service 여러 번 가는 문제개요현재 CDN Server의 구현은 아래와 같이 구현되어 있다.  브라우저에서 CDN Server에게 CDN URL로 이미지 조회 및 다운로드를 요청한다. CDN Server는 Redis에 해당 CDN URL을 key로 가지고 있는 value가 있는지 확인한다. 첫번째 요청..

프로젝트 2024.11.14

최종 프로젝트 회고

프로젝트 소개프로젝트 소개 :회사 내부에서 이미지 관련 처리를 돕는 이미지 처리 모듈 프로젝트프로젝트 기간 :24.09 ~ 24.10 (5주)프로젝트 팀원 구성 :BE 4명프로젝트 Github 주소 :https://github.com/4-Image-Module프로젝트 brochure 주소 : https://teamsparta.notion.site/4-Storage-Service-17e981c3249d47128b67cafebd09d4ee프로젝트 발표자료 : 나의 개발 파트CDN 서버 구축CDN server 이미지 조회 및 다운로드 기능 구현CDN server에 이미지 캐싱 기능 구현CDN server 용량 체크 로직 구현CDN server 최적화로 성능 개선Backend Client 라이브러리 구현이미지 ..

프로젝트 2024.11.13

3차 프로젝트 3주차 WIL

중간 발표  서비스 아키텍쳐 서비스 아키텍쳐에 조금 수정이 있었다.  여러 서비스가 같은 DB 사용하게 되어서 data server를 추가하였다.  하나의 DB에 여러 서비스가 직접 접근하는 것보다 data server를 통해 접근하는 것이 좋아 추가되었다.  또한 서비스들의 이름이 조금 바뀐 것이 있다.  internal server → processing server, url server → fetch server로 더 이해하기 쉽게 바꾸었다.  또한 fetch server에 있던 Redis가 사용되지 않을 것 같고 CDN server에서 필요해져 옮기게 되었다.   기술적 의사 결정업로드 응답 위치 문제 상황동기적으로 처리 시 이미지 업로드 완료 후 응답 받음이 과정 오래 걸려 사용자 경험이 저하됨..

프로젝트 2024.10.14

3차 프로젝트 2주차 WIL

CDN URLCDN URL을 어디서 생성하고 어떻게 조회하는지에 대한 고찰 CDN URL 조회하는 부분은 크게 2가지로 나뉨브라우저에서 CDN URL로 CDN에서 이미지 가져가기 위한 조회Backend Client에서 CDN URL Frontend로 반환하기 위한 조회 이때 CDN URL을 동적으로 생성하는가, 정적으로 생성하는가에 따라 동작이 달라진다.정적 생성은 CDN URL을 미리 규칙을 정해놓고 이미지 정보 DB에 저장해 두는 것이다. 동적 생성은 CDN에 이미지를 넣을 때 규칙 없이 CDN URL을 생성해서 반환하는 것이다.  동적으로 생성CDN에 이미지 넣을 때 URL 랜덤으로 생성그 후 Image URL Server에서 Redis에 CDN URL 보관2번 조회의 경우 Image URL Ser..

프로젝트 2024.10.07

대규모 AI 시스템 설계 프로젝트 회고

프로젝트 소개물류 관리 및 배송 시스템을 위한 MSA 기반 플랫폼 개발 프로젝트 나의 개발 파트Eureka 서버 설정Gateway 서버 구현Auth 서버 구현User 서비스 구현AI & Slack 서비스 구현MSA에서 Spring Security & JWT로 회원가입/로그인 로직 구현 백엔드 아키텍처 LikedMSA에서 인증, 인가 구현 경험모니터링, 분산 추적, 서킷브레이커 설정 해보는 경험MSA 환경 설정 및 FeignClient로 통신하는 경험Docker 및 Docker Compose 활용 경험 LackedAI 및 Slack 부분 구현하지 못한 것모니터링, 서킷브레이커 적용 및 사용 못한 것좀 더 세밀한 공통화 및 예외 처리, fallback 로직 등 적용하지 못한 것동시성 및 보상 트랜잭션 등 데..

프로젝트 2024.09.25

스프링 심화 대규모 AI 시스템 설계 프로젝트 - Starting Assignments

API 명세서https://teamsparta.notion.site/API-f7da2a7b7fe64f9c9eeb8616fd15e9f4 API 명세서 | NotionMade with Notion, the all-in-one connected workspace with publishing capabilities.teamsparta.notion.site 테이블 명세서https://teamsparta.notion.site/fa7f938fb7554cf884904d99c95c8ca5 테이블 명세서 | Notion기본 감사 로그teamsparta.notion.site ERD 명세서 인프라 설계서

프로젝트 2024.09.25

AI 검증 비즈니스 프로젝트 회고

프로젝트 소개GEMINI API를 기반으로 가게 사장님들의 가게 설명 작성을 도와주는 주문 서비스 개발 나의 개발 파트AI API 개발User API 개발Payment API 개발회원가입/로그인 로직 구현Redis 사용 캐싱 구현 기술 스택 백엔드 아키텍처 Liked좋은 팀원들에게 많이 배운 점팀원들과 잘 분업화 해서 주요 기능을 모두 완성한 점Spring Security & JWT 이용한 인증, 인가 로직을 구현해본 점Redis를 이용한 로그인 시 캐싱 구현해본 점PR시 코드 리뷰 해야 merge할 수 있도록 한 점 Lacked도전 기능 전부 구현해보지 못한 점Querydsl을 활용해보지 못한 점 LearnedJpaAuditing + BaseEntity를 사용한 Auditing Fields 처리soft..

프로젝트 2024.09.25

스프링 심화 AI 검증 비즈니스 프로젝트 - Starting Assignments

API 명세서https://www.notion.so/teamsparta/API-0191bf4047484aadbe49e6a5ec30266c API 명세서 | NotionBuilt with Notion, the all-in-one connected workspace with publishing capabilities.teamsparta.notion.site  테이블 명세서https://www.notion.so/teamsparta/8e7bb056d2ac41aa8952a39e4575c89e 테이블 명세서 | Notion1. user (사용자)teamsparta.notion.site ERD 명세서 인프라 설계서

프로젝트 2024.08.22