동시성 이슈를 해결하는 다양한 방법

트래픽이 몰려 짧은 시간에 요청이 거의 동시에 발생하거나 서버가 불안정해져 요청을 처리하는데 시간이 오래 걸리는 경우 동시성 이슈로 데이터 정합성에 문제가 생길 수 있다.위와 같이 상품의 재고를 조회하고 하나의 재고를 감소시키는 로직이 있다고 가정해보자.

2023년 5월 3일
·
0개의 댓글
·
post-thumbnail

스프링 카프카 컨슈머는 graceful shutdown을 지원하는가?

스프링 카프카 컨슈머에서 poll() 로 가져온 레코드들을 처리하다 오프셋을 커밋하기 전에 SIGTERM, SIGINT 와 같은 종료 요청이 오면 어떻게 동작하는지 문득 궁금증이 생겨서 테스트를 진행해 보았다.

2023년 4월 13일
·
0개의 댓글
·

클린 아키텍쳐 - 경계간 모델 매핑전략

서론 주니어 개발자인 내가 코드를 작성할 때 자주 들던 고민이 있다. 바로 계층간 모델을 어떻게 매핑할 것인가이다. 그러던 중 만들면서 배우는 클린 아키텍쳐 라는 책에서 계층간 모델을 매핑하는 다양한 전략들을 소개하는 부분을 읽고 느낀점을 정리하려고 한다.

2023년 3월 17일
·
0개의 댓글
·
post-thumbnail

Jenkins + ArgoCD 로 k8s CI/CD 파이프라인 구축하기

이번에는 이미지의 태그가 새로운 버전으로 업데이트 될때마다 실행중인 k8s 파드 역시 새로운 버전에 맞게 무중단으로 배포하고자 한다.

2023년 2월 25일
·
0개의 댓글
·
post-thumbnail

Jib로 자바 컨테이너 빌드 및 배포하기

어플리케이션을 컨테이너로 배포하기 위해서 일반적으로 Dockerfile을 작성하고 도커를 설치해 도커 이미지를 빌드하고 배포하는 과정을 진행해야한다.하지만 도커를 설치하지 않고 Dockerfile을 작성할 필요없이 Java 기반의 어플리케이션을 컨테이너로 쉽게 빌드하고

2023년 2월 19일
·
0개의 댓글
·
post-thumbnail

가상머신에 OpenVpn 서버 설치하기

외부 환경에서 가상머신으로 접속이 까다롭다는 점이다.가상머신이 설치되어 있는 서버에서는 쉽게 접근할 수 있지만 외부에서 접근하려면 포트포워딩이 가능하도록 외부 포트를 설정하고 개방해줘야한다.

2023년 2월 8일
·
0개의 댓글
·
post-thumbnail

로컬에 쿠버네티스 클러스터 환경 구축하기

Vagrant는 가상 머신 환경을 구축하고 관리할 수 있는 도구이다. 수동으로 가상머신의 자원을 할당하고 OS 이미지를 설치하고 초기 세팅들을 설정할 필요없이, 인프라를 코드로 작성(IaC)해두면 자동으로 인프라를 프로비저닝 할 수 있다.

2023년 2월 3일
·
0개의 댓글
·

[Kotlin] 함수란 무엇인가

순수함수는 값을 반환하기만 하고 다른일은 하지 않아야 한다.함수 외부의 어떤 것도 변이시켜서는 안된다. 내부에서 상태를 변이시키더라도 그 상태를 외부에서 관찰할 수 없어야 한다.인자를 변이시켜서는 안 된다.예외나 오류를 던져서는 안된다.항상 값을 반환해야 한다.인자가

2022년 3월 6일
·
0개의 댓글
·
post-thumbnail

객체지향의 사실과 오해 정리

객체 지향의 사실과 오해 정리

2022년 2월 12일
·
0개의 댓글
·
post-thumbnail

Pinpoint APM

Pinpoint APM은 Naver 에서 제공하는 오픈소스 기반 모니터링 서비스이다

2022년 2월 12일
·
0개의 댓글
·