01. 사용자 수에 따른 규모 확장성
단일 서버 사용자 요청 처리 과정 사용자는 도메인 이름을 이용하여 웹사이트에 접속 DNS 에 도메인 이름을 질의하여 IP 주소로 변환하는 과정 필요 DNS 조회 결과로 반환된 IP 주소로 HTTP 요청 전달 요청을 받은 웹 서버는 HTML 페이지나 JSON 형태의 응답을 반환 실제 요청이 오는 단말...
단일 서버 사용자 요청 처리 과정 사용자는 도메인 이름을 이용하여 웹사이트에 접속 DNS 에 도메인 이름을 질의하여 IP 주소로 변환하는 과정 필요 DNS 조회 결과로 반환된 IP 주소로 HTTP 요청 전달 요청을 받은 웹 서버는 HTML 페이지나 JSON 형태의 응답을 반환 실제 요청이 오는 단말...
모델 검색 품질을 안정적으로 유지하려면 기능 검증과 성능 관찰을 한 번에 수행할 수 있는 파이프라인이 필요합니다. 이 글에서는 k6 시나리오부터 InfluxDB·Grafana 기반 모니터링까지, AI 모델 검색 도메인을 검증하는 전체 흐름을 정리합니다. 실행 파이프라인 최상위 스크립트 k6/run-tests.sh가 공용 시나리오를 실행하며 sm...
검색 파이프라인 개요 데이터 수집: 모델이 생성·수정·삭제되면 ModelCreatedEvent·ModelUpdatedEvent·ModelDeletedEvent가 발행되고, AIModelIndexingListener가 트랜잭션 커밋 이후 비동기로 응답합니다. 색인 구성: ElasticsearchIndexService가 모델·통계·리뷰 데이터를...
01. Member 관리 개요 member 모듈은 application·domain·infrastructure 3계층으로 구성되어 가입, 로그인, 사용자 정보 조회 여정을 담당합니다. 영속 계층은 JPA(member_tb, login_history_tb)와 Redis(refresh:*, firstLogin:*)를 함께 사용해 토큰과 최초 로...
01. 프로젝트 전반 구조 루트 구성 Gradle(Spring Boot 3, Java 21) 단일 모듈 기준입니다. 루트에는 build.gradle, settings.gradle, 각종 docker-compose 파일, REST Docs 산출물(docs/), 성능 스크립트(k6/), 모니터링 설정(monitorin...
01. 설계 개요 NoModel의 데이터 구조는 도메인별 책임을 명확히 나누고 감사 메타데이터를 공통 상속으로 묶어 무결성을 확보하는 데 초점을 맞추었습니다. Spring Data Auditing을 전 도메인에 도입해 운영·보안 감사 요건을 충족하고 동일한 정책을 강제했습니다. 모든 핵심 엔티티는 BaseTimeEntity와 BaseEntity 계층...
01. 프로젝트 소개 NoModel. AI 모델을 활용한 광고 이미지 자동 제작 플랫폼입니다. AI 기반 이미지 생성: 최신 생성형 AI 모델로 고품질 광고 이미지를 제작했습니다. 프롬프트 최적화: 사용자 입력을 분석하여 최적 프롬프트를 자동 구성합니다. 시드값 관리: 일관성 있는 이미지 스타일을 위해 시드값을 저장...
동기화란? 여러 프로세스나 스레드가 공유 자원에 안전하게 접근하도록 순서를 조정하는 것 동기화가 필요한 이유 공유 자원 : 여러 프로세스가 동일한 자원 사용 경쟁 상태 : 동시 접근 시 예상치 못한 결과 발생 데이터 일관성 : 정확한 결과 보장 필요 임계 영역 (Critical Section) 공유 자원에 접근하는 ...
CPU 스케줄링이란? 여러 프로세스가 CPU를 효율적으로 사용할 수 있도록 순서를 정하는 것 스케줄링이 필요한 이유 멀티프로그래밍 : 여러 프로세스가 동시에 실행 CPU 활용률 극대화 : 유휴 시간 최소화 응답 시간 개선 : 사용자 경험 향상 프로세스 상태 [새로운] → [준비] → [실행] → [종료] ...
메모리 관리란? 운영체제가 메모리를 효율적으로 할당하고 회수하는 과정 메모리 관리가 필요한 이유 제한된 메모리 : 물리적 메모리는 한정적 다중 프로세스 : 여러 프로세스가 동시에 실행 효율성 : 메모리 공간을 최적화해야 함 메모리 할당 방식 연속 메모리 할당 고정 분할 (Fixed Partition) 메모리를 고정...