일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- entity graph
- Entity
- QueryDSL
- topic생성
- Spring JPA
- K8s
- JPA
- Spring Data JPA
- transactionaleventlistener
- bean
- CodePipeline
- git
- offsetdatetime
- Streams
- spring kafka
- producer
- mysql
- spring
- centos7
- cd
- CI
- AWS
- Kotlin
- PAGING
- consumer
- API
- mirror maker2
- ECS
- Kubernetes
- kafka
- Today
- Total
목록전체 글 (100)
Yebali

Kubernetes의 컴포넌트를 크게 분류하면 기능제 제어를 전체적으로 담당하는 Control Plane와 Node로 나눌 수 있다. Control Plane etdc Kubernetes 클러스터가 동작하기 위한 리소스의 구성 정보, 상태 정보 및 명세 등을 key-value형태로 저장하는 저장소이다. 안정적인 동작을 위해 분산해서 저장하는 구조를 가지고 있다. kube-apiservice Kubernetes 클러스터로 들어오는 요청을 가장 앞에서 받아 적절한 컴포넌트로 다시 전달하는 역할을 한다. 대표적으로 'kubectl'을 통해 요청된 명령들이 위와 같은 과정으로 처리된다. kube-scheduler Kubernetes 클러스터는 보통 여러개의 노드로 구성되어 있다. 그리고 Pod를 여러 노드 중 ..
pinpoint란? Pinpoint는 대규모 분산 시스템의 성능을 분석하고 문제를 진단/처리하는 플랫폼으로 네이버에서 2012년 7월에 개발을 시작해 2015년 1월 9일에 오픈소스로 공개한 프로젝트이다. 갓영한 선생님께서도 추천하는 모니터링 프로그램이기도 하다. Collector 설정 각 서버들이 보내는 지표를 수집하는 서버를 Collector라고 한다. 직접 Collector를 설치하는 방법도 있지만 여기서는 Naver Cloud Platform을 사용해 간단히 만들었다. https://www.ncloud.com/product/applicationService/pinpoint NCP에서는 Collector 서버를 Repository라고 부르는 듯하다. Collector 설정은 이게 끝이다. Agent..

Auto Configuration이란? Auto Configuration이란 Spring Boot가 자주 사용되는 수많은 Bean들을 자동으로 등록해 주는 기능을 말한다. 아래에서 어떻게 많은 Bean들을 자동으로 등록해 주는지 살펴보자 알게 모르게 동작하는 Auto Configuration 우리가 Spring Boot를 사용할 때, 등록한 적 없는 수많은 Bean들을 사용한다. 이런 동작은 'spring-boot-autoconfiguration' 의존성이 해주는데 'spring-boot-autoconfiguration'은 'spring-boot-starter-web'을 사용하면 자동으로 포함되는 의존성이다. 'spring-boot-autoconfiguration' 패키지 내부를 살펴보면 'autocon..

Sync/Async, Blocking/Non-Blocking는 면접에 자주 나오면서도 헷갈리기 쉬운 개념 같다. Sync / Async Sync/Async의 차이는 호출되는 함수의 작업 완료 여부를 누가 신경 쓰느냐 이다. Sync Sync는 호출하는 함수가 호출되는 함수의 작업 완료 여부를 신경 쓴다. 호출하는 함수는 호출된 함수의 작업 완료 후 반환되는 값을 기다리거나, 바로 반환되더라도 호출된 함수의 작업 완료여부를 계속 신경 쓴다. 카페에서 아이스 아메리카노를 시키고 픽업하는 곳에서 커피를 기다리고 있거나, 자리에서 진동벨을 보며 커피가 나왔는지 계속 확인하고 있다면 그것은 Sync이다. Async Async는 호출하는 함수가 호출되는 함수의 작업 완료 여부를 신경 쓰지 않는다. 호출된 함수는 작..

공용 객체 지향 프로그래밍이란? 데이터들을 '상태'와 '행위'를 가진 객체로 만들고, 객체들 간의 상호작용을 통해 로직을 구현하는 프로그래밍 기법. 추상화란? 공통 속성이나 기능을 묶어 이름을 붙이는 것. 객체 지향 관점에서는 클래스나 인터페이를 정의하는 것이 추상화 과정. 다형성이란? 다형성이란 하나의 객체가 여러 가지 타입을 가질 수 있는 것. 객체 지향에서 부모 클래스의 참조 변수로 자식 클래스의 인스턴스를 할당할 수 있는 것. open class Parent() class Child: Parent() fun main(args: Array) { val p: Parent = Parent() val c: Child = Child() // 자식 클래스의 인스턴스가 부모 클래스의 참조 변수에 할당될 수 있..

docker-compose란? 여러 도커 컨테이너 애플리케이션들을 정의하고 실행키시키기 위한 툴이다. YMAL을 사용해서 서비스를 정의하고 실행한다. 예제 아래 예제는 Docker공식 docs에 있는 예제이다. redis와 flask를 사용해서 방문 횟수를 계산하는 웹 서비스이다. 1. flask app 작성하기 먼저 docker 컨테이너로 만들 웹 서버를 아래와 같이 정의한다. '/'로 요청이 들어왔을 때 redis의 'hits' key의 value를 1 증가시키며 방문 수를 계산하는 서버이다. 실패할 경우 0.5초 간격으로 총 5회 시도한다. # app.py import time import redis from flask import Flask app = Flask(__name__) cache = r..