728x90

All 193

내가 이해한 Volume이란?

Volume이란? 컨테이너 종료시 모든 환경 및 데이터가 삭제 되므로 이를 방지 하기 위해 사용한다. 장단점 장점 데이터 영속성 Volume을 사용하면 컨테이너가 종료되더라도 데이터가 영구적으로 보존됩니다. 따라서 데이터베이스나 파일과 같이 중요한 데이터를 영구적으로 저장해야 하는 경우에 유용합니다. 데이터 공유 Volume은 여러 컨테이너가 동일한 데이터를 공유할 수 있도록 해줍니다. 여러 컨테이너가 동일한 데이터를 읽고 쓸 수 있어서 데이터를 쉽게 공유할 수 있습니다. 데이터 백업과 복구 Volume을 사용하면 데이터를 백업하고, 필요에 따라 데이터를 복구하는데 편리합니다. 컨테이너를 업데이트하거나 재생성해도 데이터를 손실하지 않고 복구할 수 있습니다. 성능 향상 Volume을 사용하면 컨테이너의 파..

ETC/Docker 2023.08.03

Mysql 설정 및 기본 명령어

Docker Mysql 사용하기 사용되는 Docker 기술 Image/GCR(Google Container Registry) Docker Repository에 있는 Mysql Pull 및 이미지화 이미지 이름 변경 Container/Volume/Mount Pull 받은 Mysql을 Container를 실행 Volume를 설정하여 Docker가 종료되도 데이터 삭제 방지 Mount하여 호스트 컴퓨터(사용자 컴퓨터) Docker 서버에 맵핑 시킨다. 실행 방법 Docker Pull GCR docker pull mysql Image 이름 변경 docker tag mysql new-mysql Container 실행 기본 실행 docker run -e MYSQL_ROOT_PASSWORD=root mysql 설명 ..

ETC/Docker 2023.08.03

Docker Swarm과 Kubernetes(K8s) 비교

컨테이너 오케스트레이션의 대표 서비스 공통점 컨테이너 오케스트레이션 도구 여러 개의 독립적인 컨테이너들을 효율적으로 관리하고 배포하는 기능을 제공 컨테이너 기반 가상화 기술을 사용하여 애플리케이션을 격리시키고 이식성과 확장성을 향상 쉽고 빠르게 애플리케이션을 배포, 확장, 관리할 수 있으며, 여러 호스트에서 컨테이너를 실행하여 리소스 활용을 최적화 자동화된 배포, 롤링 업데이트, 로드 밸런싱, 스케일링 등 다양한 기능을 제공하여 높은 가용성과 신뢰성을 보장 차이점: 기능/특징 Docker Swarm Kubernetes 성격과 역사 Docker의 네이티브 오케스트레이션 도구로 작은 규모의 컨테이너 클러스터에 적합 Google에서 개발된 오픈 소스 컨테이너 오케스트레이션 플랫폼으로 대규모 애플리케이션에 적합..

ETC/Docker 2023.07.26

Docker 기본 명령어

Docker 명령어 공식 문서 이미지 Name Description 사용 예시 build 이미지 생성 docker build [OPTIONS] PATH images 이미지 목록 docker images [OPTIONS] [REPOSITORY[:TAG]] history 이미지 히스토리 docker history [OPTIONS] IMAGE image 이미지 관리 docker image [OPTIONS] COMMAND [ARG...] rmi 이미지 삭제 docker rmi [OPTIONS] IMAGE [IMAGE...] commit 변경된 컨테이너로 이미지 생성 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] trust Docker 이미지에 대한 신뢰 관리 수행..

ETC/Docker 2023.07.26

Spring Batch

Spring Batch 대량의 데이터를 처리하는데 사용되는 오픈 소스 배치 프레임워크입니다. Spring 프레임워크의 일부로 개발되었으며, 데이터베이스, 파일 등과 같은 다양한 소스로부터 대량의 데이터를 읽어 처리하고, 가공한 데이터를 다시 저장하거나 출력하는 등의 작업을 수행하는데 주로 사용됩니다. 확장성과 성능 대량의 데이터를 효율적으로 처리하기 위한 다양한 기능과 패턴을 제공하여 성능과 확장성을 보장 Chunk 기반 처리 방식을 통해 대용량 데이터 처리를 안정적으로 수행 가능 트랜잭션 관리 작업의 성공 또는 실패 시 롤백과 재시작을 지원하여 데이터의 무결성과 안정성을 보장 Chunk 지향 처리 대용량 데이터를 처리할 때 데이터를 묶어서(Chunk) 트랜잭션 단위로 처리하므로 OutOfMemoryEr..

BackEnd/Spring Boot 2023.07.19

검색이 빠른 자료구조

O(1) > O(log n) > O (n) > O(n log n) > O(n^2) > O(n^3) > O(2^n) > O(n!) HashMap 단건 검색 시간 복잡도 : O(1) 범위 탐색 시간 복잡도 : O(N) 전방 일치 탐색 불가 ex) like 'AB%' List 정렬되지 않은 리스트 탐색 시간 복잡도 : O(N) 정렬된 리스트 탐색 시간 복잡도 : O(logN) 정렬 되지 않은 리스트 정렬 시간 복잡도 : O(N) ~ O(N * logN) 삽입/삭제 비용이 매우 높다 Tree 트리 높이에 따라 시간 복잡도 결정 트리의 높이를 최소화 하는 것이 중요! 한쪽으로 노드가 치우치지 않도록 균형을 잡아 주는 트리 사용 ex) Red-Black Tree, B+Tree B+Tree 삽입/삭제시 항상 균형을 ..

Language/Java 2023.07.12

데드락

프로세스나 스레드 간에 발생하는 상호 대기 현상으로, 작업의 완료를 기다리며 시스템이 정체되는 현상입니다. 증상: 작업이 진행되지 않고 시스템이 정체되는 상태가 됩니다. 프로세스 또는 스레드 간의 상호작용이 멈추고, 상호 대기 상태가 되는 것을 확인할 수 있습니다. 원인 데드락은 다음과 같은 네 가지 조건이 동시에 성립할 때 발생합니다: 상호 배제(Mutual Exclusion) 자원은 하나의 프로세스 또는 스레드에 의해 동시에 점유될 수 없습니다. 점유와 대기(Hold and Wait) 이미 점유한 자원을 기다리는 상황이 발생합니다. 비선점(Non-preemption) 다른 프로세스 또는 스레드가 이미 점유한 자원을 강제로 빼앗을 수 없습니다. 순환 대기(Circular Wait) 여러 프로세스 또는 ..

DB 2023.07.05

로드밸런스 알고리즘 종류

라운드 로빈(Round Robin) 알고리즘 특징 트래픽을 순서대로 서버에 분배합니다. 간단하고 공평한 방식으로 동작합니다. 장점 각 서버가 동일한 부하를 처리하므로, 균등한 부하 분산이 이루어집니다. 구현이 간단하고 오버헤드가 낮습니다. 단점 서버의 성능 차이가 크면 효과가 떨어질 수 있습니다. 사용 예시 소규모의 서버 그룹이 균등한 처리 능력을 가지고 있을 때 사용합니다. 가중 라운드 로빈(Weighted Round Robin) 알고리즘 특징 각 서버에 가중치를 부여하여 부하를 분배합니다. 서버의 성능을 반영하여 부하를 분산시킵니다. 장점 서버의 성능 차이를 고려하여 부하를 분산시킬 수 있습니다. 성능이 다른 서버 그룹을 운영할 때 효과적입니다. 단점 가중치 설정에 주의가 필요하며, 잘못 설정하면 부..

AWS 2023.07.05

Interceptor, Filter 차이

Filter Interceptor 개념 Servlet 스펙에 정의된 개념 Spring MVC에서 제공하는 개념 동작 위치 Servlet 컨테이너 레벨 Spring MVC 인터셉터 체인 내부 적용 범위 모든 요청과 응답에 적용 특정 컨트롤러 메서드 호출 전후 다중 적용 가능 여부 가능 가능 (순차적으로 적용) 주요 사용 목적 요청과 응답 수정, 변환 요청 전처리, 후처리 작업 예시 요청 인코딩 변경, 헤더 추가 인증, 권한 검사, 로깅, 캐싱 등 의존성 Servlet 스펙에 의존 Spring MVC에 의존 사용 시점 Spring MVC 이전의 기술을 사용하는 경우 Spring MVC를 사용하는 경우

BackEnd/Spring Boot 2023.07.04

MySql DB 엔진

InnoDB 엔진 특징: 트랜잭션 지원 및 ACID 속성 데이터 무결성 보장 멀티버전 동시성 제어 (MVCC) 장점: 안정성과 복구 기능이 우수 동시성 처리가 잘 되어 많은 수의 동시 사용자 처리 가능 외래 키 제약 조건 지원 단점: 일부 쓰기 작업에 비해 속도가 느릴 수 있음 일부 디스크 공간을 사용하여 데이터 저장에 용량 관리 필요 사용 예제 온라인 트랜잭션 처리 실시간 애플리케이션 데이터 일관성이 중요한 시스템 MyISAM 엔진: 특징: 단순하고 빠른 읽기 작업에 최적화됨 전체 텍스트 검색(Full-Text Search) 기능 제공 장점: 높은 읽기 성능을 제공 작은 크기의 인덱스를 사용하여 빠른 검색이 가능 단점: 트랜잭션 처리와 ACID 속성을 지원하지 않음 데이터 손실 복구 어려움 사용 예제 ..

DB 2023.07.03
728x90