쿠버네티스? 쿠버네티스(Kubernetes)는 컨테이너화 된 애플리케이션의 대규모 배포, 스케일링 및 관리를 간편하게 만들어주는 오픈 소스 기반 컨테이너 오케스트레이션(Container Orchestration) 도구다. 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼이다. 쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해준다. 쿠버네티스는 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다. 오케스트레이션이란? "컨테이너화 된 애플리케이션에 대한 자동화된 설정, 관리 및 제어 체계" 마이크로서비스 아키텍처(MSA; Microservice Architecture)에서는 프로젝트에 포..
🐋 컴포넌트에서의 build 와 image의 차이 🐋 🍃 image image means docker compose will run a container based on that image Docker Hub에서 해당 이미지를 다운로드 후 이미지에서 컨테이너를 실행한다. 🍃 build build means docker compose will first build an image based on the Dockerfile found in the path associated with build (and then run a container based on that image). 해당 경로의 Dockerfile을 기반으로 먼저 이미지를 빌드하고 그것을 기반으로 컨테이너를 실행한다. 🍃 궁금증 발생 1.buil..
DinD DooD Jenkins CI 를 구성하는 중 Docker-compose를 실행하기 위해서는 Jenkins container 내부에 Docker를 다시한번 설치해야 한다는 것을 알았다. 도커가 컨테이너를 구성하기 위해서는 크게 2가지가 있음을 알았고 이를 정리한다. DinD 도커 컨테이너 내부에서 도커를 실행하는 방식이다. 저체적인 캐시를 사용하게 되기 때문에 처음에는 빌드가 느리고 자신의 이미지 전체를 다시 끌어와야한다. 컨테이너가 특별한 권한을 가진 모드(--privilige)에서 실행되어야 하기 때문에 DooD 방법보다 안전하지 않다. DinD는 /var/lib/docker 디렉토리를 위해 볼륨을 사용하는데 컨테이너를 제거할 경우 같이 제거하지 않으면 빠르게 사용 가능한 디스크 공간이 줄어들..
🐋 Volume and Mount 🐋 Volume 및 bind Mount 를 사용하면 호스트 시스템과 컨테이너 간에 파일을 공유할 수 있으므로 컨테이너가 중지된 후에도 데이터를 유지할 수 있다. 🦐 Volume Volume 은 Docker 컨테이너에서 생성하고 사용하는 데이터를 유지하기 위한 기본 메커니즘이다. Volume이 Docker에 의해 관리되고 호스트 시스템의 핵심 기능에서 분리된다는 점을 제외하고는 바인딩 마운트가 작동하는 방식과 유사하다. 다만 바인드 마운트는 호스트 시스템의 디렉토리 구조 및 OS 에 따라 다르지만 볼륨은 Docker에서 완전히 관리된다. 장점 볼륨은 바인드 마운트보다 백업 또는 마이그레이션이 더 쉽다. Docker CLI 명령 또는 Docker API를 사용하여 볼륨을 관..
도커머신 컨테이너화된 애플리케이션이 있는 경우 Docker를 사용하여 로컬로 실행하거나 Linux 에서 로컬로 실행할 뿐만 아니라 클라우드에 쉽게 배포할 수 있어야 한다. 원격 가상 머신(VM)을 쉽게 생성하고 이러한 컨테이너를 원격으로 관리할 수 있는 도구를 docker-machine 이라고 합니다 . 도커 머신의 목적 docker-machine의 목적은 애플리케이션을 위한 배포 환경을 만들고 실행되는 모든 서비스를 관리하려는 경우이다. 연결하려는 VM의 경우 Azura, AWS 등과 같은 대상이 될 수 있다. #Reference What is docker-machine?
🐋 Docker 🐋 DockerFiles + Docker Registries 으로 구성되어 있다. 컨테이너를 운영하기 위해 빠르고 간편한 인터페이스를 제공한다. 다양한 컨테이너 이미지를 제공하여 진입장벽을 낮추고 외부 유저가 사용할 수 있다는 장점이 있다. Container 응용 프로그램의 종속성과 함께 응용 프로그램 자체를 캡술화 한것. OS(Operating System)의 격리된 인스턴스 형태로 응용프로그램을 실행한다. 경제성 호스트 OS에 있는 자원들을 공유하여, 자원을 좀더 효율적으로 사용할 수 있게 해 준다. 경량성 많은 수의 컨테니너들을 컨트롤 할 수 있도록 하여, 사용 분산 시스템을 에뮬레이트 할 수 있도록 해 준다. 이식성 종속성 Docker의 장점 호스트 OS에 있는 자원들을 공유하여 ..
🐋 서비스 탐색 🐋 탐색의 중요성 단일 호스트로 모든 서비스가 제공되는 시스템에서는 간단한 문제이지만, 장시간 동안 여러 서비스 인스턴스들로 구성된 분산 시스템의 경우는 훨씬 더 복잡하다. 복잡한 환경에서 특정 서비스 탐색을 쉽게 하기위해 클라이언트 측에서 서비스 이름을 호출하게 하고 대사 컨테이너, 서비스 탐색 솔루션, 탐색 기능등의 네트워킹 솔루션을 결합한 방식을 구성하기 위해 컨테이너들을 하나로 연결하는 과정을 네트워킹이라고 한다. 클라이언트들이 인스턴스들을 찾을 수 있도록 찾을 수 있도록 도와주고, 네트워킹 기능으로 연결이 잘 이루어지도록 도와주는 것. 대사 컨테이너(ambassadors) 서로 다은 호스트에서 작동하는 컨테이너들을 연결하려면 대사 컨테이너를 이용할 수 있다. 대사 컨테이너는 프록..
프록시 지연로딩 연관되어 있는 엔티티를 조회할 경우 불필요한 정보까지 모든 엔티티를 불러오는 것은 현명한 방법은 아니다. JPA에서는 효율적인 데이터 호출을 위해 데이터 베이스 조회를 지연하는 지연로딩 방식을 제공한다. 프록시 등장 개념 지연로딩 기능을 사용하려면 실제 엔티티 객체 대신에 직접 연관 엔티티를 호출하기 전까지 DB 조회를 지연할 수 있는 가짜 객체 (프록시)가 필요했다. 프록시 특징 최초 한번만 초기화 할 수 있다. 츠록시는 원본 엔티티를 상속받은 객체이다. 프록시 객체가 초기화 되면 실체 객체에 점근할 수 있는 권한이 생긴다. 영속성 컨텍스트에 찾는 엔티티가 이미 있으면 DB를 조회할 필요가 없으므로 em.getReference()를 호출해도 프록시가 아닌 실체 엔티티를 반환한다. 초기화..
JPA의 데이터 타입을 분류한다면 엔티티 타입 과 값 타입 나눌 수 있다. 엔티티 타입은 @Entity로 정의하는 객체이고, 값 타입은 int, String 처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체를 말한다. 값 타입은 다음 3가지로 나눌 수 있다. 기본 값 타입 차바 기본 타입(int, double ...) 래퍼 클래스(Integer ...) 임베디드 타입 컬렉션 값 타입 임베디드 타입 새로운 값 타입을 직접 정의해서 사용할 수 있는 값 타입의 일종으로 객체와 테이블을 세밀하게 매핑하는 것이 가능하다. 또한 정의한 값 타입에 의한 재사용성과 높은 응집도를 가질 수 있다. 엔티티 타입 특징 식별자(@Id)가 있다. 엔티티 타입은 식별자가 있고 식별자로 구별 할 수 있다. 생명 주기 생성하고,..
JPA 에서의 식별과 비식별 DB 테이블 관계는 외래키 포함 여부에 따라 식별과 비식별로 구분한다. 식별 관계 부모 테이블의 기본키를 받아 자식 테이블이 기본키 + 외래키로 사용하는 관계 비식별 관계 부모테이블의 기본키를 받아 자식 테이블이 외래키로만 사용하는 관계 비식별은 또 다시 필수와 선택으로 나뉜다. 필수적 비식별 외래키에 NULL을 허용하지 않는다. 필수적 연관관계를 가진다. 선택적 비식별 외래키에 NULL을 허용한다. 연관관계를 선택적으로 선택한다. 식별 비식별 장단점 식별 관계의 장점 데이터의 정합성 유지를 DB에서 한번 더 할 수 있다 자식 테이블에 데이터가 존재한다면 부모 데이터도 반드시 존재한다고 보장할 수 있다 식별 관계의 단점 요구사항이 변경되었을 경우 구조 변경이 어렵다 자식 객체..
- Total
- Today
- Yesterday
- 스프링
- spring-cloud
- 스프링부트
- Spring
- Solid
- CS
- Matlab
- 프로그래머스
- 자격증
- C언어
- nginx
- interview
- ajax
- 수학
- 자바
- security
- java
- OOP
- 백준
- 그래프
- 매트랩
- kakao
- docker
- 면접
- springboot
- 알고리즘
- JPA
- 릿코드
- 디자인패턴
- Algorithm
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |