분류 전체보기 59

CHAP.02 : MSA Project Day03 - SCRUM

어제 작업, 금일 작업, 내일 작업장소 : ZEP 참여자 : 정민수, 이수연, 정아현, 박준혁 어제 작업✅ API 명세서 작성 완료✅ 테이블 명세서 완료✅  ERD 설계 완료✅ 인프라 설계 완료✅ JIRA 활용 및 이슈 구성 결정 금일 작업✅ 초기 개발 셋팅 MSA 설계에 맞춰 멀티모듈 구조 설정프로젝트의 최상위 루트를 설정하고, 공통 모듈(common)을 분리하여 관리공통 모듈(common) 셋팅 및 주요 논의 진행각 모듈이 공통적으로 사용할 기능을 common 모듈에 포함디렉토리 및 주요 구성 요소:configJpaAuditingConfig : JPA 감사(Auditing) 기능 설정QueryDslConfig : QueryDSL 설정SwaggerConfig : API 문서 자동화를 위한 Swagger..

04. MSA - 클라이언트 사이드 로드 밸런싱 (FeignClient와 Ribbon)

클라이언트 사이드 로드 밸런싱 개요4. 로드 밸런싱이란로드 밸런싱은 네트워크 트래픽을 여러 서버로 분산시켜 서버의 부하를 줄이고, 시스템의 성능과 가용성을 높이는 기술서버 간 트래픽을 고르게 분배하여 특정 서버에 부하가 집중되는 것을 방지종류클라이언트 사이드 로드 밸런싱, 서버 사이드 로드 밸런싱4.1 클라이언트 사이드 로드 밸런싱이란클라이언트가 직접 여러 서버 중 하나를 선택하여 요청을 보내는 방식클라이언트는 서버의 목록을 가지고 있으며, 이를 바탕으로 로드 밸런싱을 수행4.2 FeignClient란Spring Cloud에서 제공하는 HTTP 클라이언트로, 선언적으로 RESTful 웹 서비스를 호출할 수 있음Eureka와 같은 서비스 디스커버리와 연동하여 동적으로 서비스 인스턴스를 조회하고 로드 밸런싱..

CHAP.02 : MSA Project Day02 - SCRUM

어제 작업, 금일 작업, 내일 작업장소 : ZEP 참여자 : 정민수, 이수연, 정아현, 박준혁 어제 작업 ✅ 발제 숙지팀 편성 완료✅ 각 도메인 선정✅  S.A산출물 작성✅  깃허브 프로젝트 셋팅 금일 작업✅ S.A 산출물 결정 및 제출1️⃣ API 명세서시스템이 제공하는 기능과 API 엔드포인트를 정의한 문서주요 내용각 기능별 HTTP 메서드 (GET, POST, PUT, DELETE, PATCH)엔드포인트 경로 (/api/v1/orders, /api/v1/deliveries 등)필요한 권한 (MASTER, HUB, COMPANY, DELIVERY)요청 및 응답 데이터 구조각 도메인별로 APIUser, Company, Product, Order, Hub, Devlivery, Shipper, Delive..

CH.2 대규모 AI 시스템 설계 프로젝트 S.A 제출

API 명세서 https://teamsparta.notion.site/API-1b22dc3ef5148002b6ceccd511db7b16 API 명세서 | NotionRole : MASTER HUB DELIVERY COMPANYteamsparta.notion.site 테이블 명세서 https://teamsparta.notion.site/1b32dc3ef514801cb66bfa79b378ee89 테이블 명세서 | Notion테이블 명세서 예시teamsparta.notion.site  ERD 명세서https://teamsparta.notion.site/ERD-1b32dc3ef51480e6b87bf08137c4e3e5  ERD 설계 | Notionhttps://www.erdcloud.com/d/r73ruMAQf..

CHAP.02 : MSA Project Day01 - SCRUM

어제 작업, 금일 작업, 내일 작업장소 : ZEP 참여자 : 정민수, 이수연, 정아현, 박준혁 어제 작업✅ 팀 구성 및 기초 작업팀 편성 완료각 팀원 자기소개 진행팀장 선정팀명 선정✅ 협업 도구 및 개발 환경 설정노션(Notion) 구조 설계Git / Code 컨벤션 작성JIRA 구조 틀 설정깃허브(GitHub) 구현슬랙(Slack)과 깃허브 연동금일 작업✅ 발제 숙지 ✅ 각 도메인 선정정민수사용자(User)API Gateway이수연주문(Order)배송(Delivery)배송 담당자(Shipper), +(Delivery Channel)정아현업체(Company)상품(Product)박준혁허브(Hub),메시지(Message)AI API✅  S.A산출물API명세서 작성테이블 명세서 작성ERD 설계인프라 설계✅  ..

스프링 부트 개념 정리 - 이론12

✅ 프론트 컨트롤러 패턴(Front Controller Pattern)"모든 요청을 중앙에서 처리하고 적절한 컨트롤러로 전달하는 패턴!"✅ 프론트 컨트롤러 패턴이 필요한 이유📌 기존 방식 (web.xml 기반 매핑)web.xml에서 각각의 서블릿을 매핑해야 하므로 설정이 복잡해짐요청이 많아질수록 관리하기 어려움📌 프론트 컨트롤러 방식모든 요청을 하나의 컨트롤러(Front Controller)에서 먼저 받음이후 적절한 서블릿이나 JSP로 전달유지보수가 쉬워지고 코드의 일관성이 증가📌 "web.xml에서 하나하나 매핑하는 것이 아니라, 모든 요청을 프론트 컨트롤러가 먼저 받고 적절한 곳으로 보내는 방식!"✅ 프론트 컨트롤러 패턴의 동작 흐름1️⃣ 클라이언트가 요청 (/users, /products 등)..

스프링 부트 개념 정리 - 이론11

📌 웹 배포 서술자 (web.xml) – 서블릿 컨테이너 설정 파일"web.xml은 웹 애플리케이션의 동작을 제어하는 설정 파일로, 웹 서버(Tomcat)와 서블릿 컨테이너의 '입구' 역할을 한다!"✅ web.xml이 하는 일📌 "web.xml은 서블릿 컨테이너(Tomcat)에서 요청을 어떻게 처리할지 정의하는 설정 파일!"🔹 주요 역할역할설명ServletContext 초기 파라미터 설정웹 애플리케이션 전역 설정값 지정Session 유효 시간 설정사용자의 로그인 세션 유지 시간 설정Servlet/JSP 정의 및 매핑서블릿과 URL을 연결MIME 타입 매핑파일 형식과 응답 형태 지정Welcome File List기본 홈 페이지 설정 (index.jsp 등)Error Pages 처리특정 오류 발생 시 ..

스프링 부트 개념 정리 - 이론10

서블릿 객체의 생명주기가 궁금해요!서블릿 객체(Servlet)와 쓰레드(Thread)란?"서블릿은 클라이언트의 요청을 처리하는 자바 객체이고, 쓰레드는 이를 병렬로 실행하는 작업 단위이다!" 📌 서블릿 컨테이너, 쓰레드 관리, 그리고 서버 확장 기법이번 글에서는 서블릿 컨테이너(Servlet Container)의 역할, 쓰레드(Thread)와 객체 재사용 원리, 그리고 **서버 확장 전략(Scaling)**에 대해 정리하겠습니다.✅ 서블릿(Servlet) 객체란?"클라이언트 요청을 처리하는 자바 기반의 웹 컴포넌트!"📌 서블릿의 특징✅ 웹 브라우저의 요청을 처리하고 응답을 반환✅ 최초 요청 시 한 번만 생성되며, 이후에는 재사용됨✅ 여러 요청을 동시에 처리하기 위해 쓰레드(Thread)를 활용📌 "..

CHAP02. MSA설계 - 프로젝트 팀 편성

장소 : ZEP 참여자 : 정민수, 이수연, 정아현, 박준혁  전일 작업 금일 작업📌 금일 작업 내용 정리✅ 팀 구성 및 기초 작업팀 편성 완료각 팀원 자기소개 진행팀장 선정팀명 선정✅ 협업 도구 및 개발 환경 설정노션(Notion) 구조 설계프로젝트 문서화 및 협업을 위한 기본 구조 구성Git / Code 컨벤션 작성Git 브랜치 전략 및 커밋 규칙 정의Code 스타일 가이드라인 정립JIRA 구조 틀 설정이슈 트래킹을 위한 기본 보드 및 워크플로우 구성칸반보드 기반깃허브(GitHub) 구현저장소 생성 및 초기 설정 완료슬랙(Slack)과 깃허브 연동PR, 커밋 알림을 위한 Slack 채널 연동 완료https://www.atlassian.com/ko/agile/kanban/boards 칸반 보드란? |..

02-01. MSA - 마이크로서비스 아키텍처 기반 주문 처리 시스템

주문이 들어왔어! -> 주문확인 - 상품 확인 - 유저 확인 애플리케이션이 있겠네?1. 그렇다면 필요한 어플리케이션은 ? Order, Product, User2. 만약 주문에서 상품을 봐야해 어떻게 해 ? 컨트롤은 Ribbon에서 실제 호출은 Feign Client를 통해서 해준다.3. host관리를 위해 Eureka서버에 모두 등록 (그럼 모든 APP들이 Eureka Client가 된다.)4. 그럼 실제 Client가 각 어플들을 일일 호출해야해 ? API Gateway로 호출을 보내고 API Gateway에서 알아서 요청을 보내고 처리해준다.5. 로그인된 사용자만 사용하게 해줘야 하지 않을까 ? API Gateway가 해주면 좋겠다!! 필터 기능으로 처리6. 만약 Order가 Product와 Use..

카테고리 없음 2025.03.10