alt
Home
hungryjayy
Cancel

Ktlint 도입하기

Ktlint란? : Kotlin의 코드 스타일 검사 및 포맷팅 도구. 팀 내에서 일관된 코드 스타일을 유지하기 위해 사용된다. 공식 Kotlin 코딩 컨벤션을 기반으로 동작 Gradle 플러그인으로 쉽게 통합 가능 .editorconfig를 통해 프로젝트별 규칙 커스터마이징 가능 왜 도입했는가? 일관된 코드 스타일: ...

Callback 방식의 캐싱 구현으로 AOP의 한계 극복하기

Spring의 @Cacheable 어노테이션은 편리하지만, 같은 클래스 내부에서 메서드를 호출할 때 AOP가 동작하지 않는다는 한계가 있다. 이를 해결하기 위해 callback 방식의 고차함수를 활용한 캐싱 로직을 구현했다. 이 방식은 AOP의 한계를 극복하면서도 캐싱 로직을 재사용 가능하게 만들어준다. @Cacheab...

Redis cluster 해시태그

: Redis cluster를 사용할 때 n개의 키에 multiGet을 하면, 각각의 키가 저장된 슬롯으로 n번의 get 호출이 가게 된다. 이후, redis 클라이언트에서 이를 조합하는데 성능이 많이 떨어지게 된다. hashTag를 사용하면 같은 해시를 갖는 키들은 하나의 슬롯에 저장되어 한번의 호출만으로 불러오는게 가능하다. Redis Clu...

시작하세요! 도커 / 쿠버네티스 6장 쿠버네티스 시작하기

쿠버네티스란? 도커 컨테이너, 스웜, 컴포즈와 같은 개념을 모두 사용 가능하다. 사실상 표준으로 사용되는 컨테이너 오케스트레이션 도구이다. 클라우드 환경에 적합한 오픈소스를 관리하는 Cloud Native(CNCF - 오픈소스 단체)에 속해있다. containerd, 프로메테우스 등이 CNCF 소속 ...

시작하세요! 도커 / 쿠버네티스 4장 도커 컴포즈

: 필요한 컨테이너들의 설정을 하나의 파일로 구성해 한번에 띄우도록 하는 것 특징 도커에 내장되어있지 않아 별도로 설치해야한다. 생산성: 하나의 서비스가 여러개의 컨테이너로 구성되어있을 때 개발 환경을 위해 하나하나 띄우는 것은 생산성을 저하시킨다. 컴포즈를 통해 이러한 생상성 저하를 막을 수 있다. Dockerfile을 run할때...

시작하세요! 도커 / 쿠버네티스 3장 도커 스웜

도커 서버 클러스터링의 이점 : 새로운 컨테이너를 할당, 발견 작업, 스케줄링과 LB, HA 보장 등 도커 스웜이란? : 도커 서버 클러스터링 중 하나. 배포된 컨테이너들 관리를 자동화하기 때문에 컨테이너 오케스트레이션이라고도 불린다. 스웜 클래식: 단일 접근점에 초점. 도커 ver 1.6~ 사용가능하나, 공식문서에 의하면 레거시이...

시작하세요! 도커 / 쿠버네티스 2장 도커 엔진 - 4. 도커 데몬

도커 클라이언트와 도커 데몬 도커 클라이언트: Mac 기준 /usr/local/bin/docker, 리눅스 기준 /usr/bin/docker에 존재. 도커데몬의 API를 호출함으로써 유저가 CLI로 도커를 이용할 수 있도록 한다. /var/run/docker.sock Unix 소켓을 이용한다. 도커 서버(데몬 - dockerd): /us...

시작하세요! 도커 / 쿠버네티스 2장 도커 엔진 - 3. Dockerfile

: 설치할 패키지, 소스코드, 실행해야할 명령어 등을 Dockerfile에 기록해놓고 해당 파일을 빌드해 도커 이미지를 만든다. CI/CD 도구를 이용해 자동화하기에도 편리하다. 빌드 과정에 필요한 작업들을 명확하게 명시할 수 있는 것도 장점 중 하나 인 것 같다. docker build -t imageName 으로 실행한다. ...

메인 컨테이너 종료 시 사이드카 컨테이너 종료하기

: 파드 내 메인 컨테이너가 종료하는 경우 사이드카도 종료할 수 있도록 Lifecycle을 맞춰주는 방법 파드에 멀티 컨테이너를 띄우는 경우, 메인 컨테이너가 종료되면 sidecar 또한 더이상 필요 없어지는 경우가 있다.(보통 로그용 컨테이너) 특히나 cronjob의 경우, 사이드카가 종료되지 않으면 job이 compl...

시작하세요! 도커 / 쿠버네티스 2장 도커 엔진 - 2. 도커 이미지

: 모든 도커 컨테이너는 읽기전용인 도커 이미지를 기반으로 생성된다. run, create, pull 명령어를 수행하면 가장 먼저 호스트 머신에서 해당 이미지를 찾고, 없으면 도커 허브에서 검색한 뒤 내려받는다. docker search {image} 로 검색도 가능하다. 누구나 배포할 수 있다. 이미지 중에서도 dock...