동기(synchronous)방식은 순차적으로 실행된다. 동기 방식은 한 작업이 끝날 때까지 다음 작업이 진행되지 않는다. 동기 방식은 코드 순서가 곧 실행 방식이 된다. 비동기(asynchronous)방식은 한 작업이 끝날 때까지 기다리지 않고 바로 다음 작업을 처리한
💡 외부 연동은 서버 개발에서 없어서는 안될 요소가 되었다. 마이크로서비스를 도입하는 기업이 늘어나면서 내부 서비스 간 연동도 복잡해지고있다. 연동하는 서비스에 장애가 발생하면 우리 서비스도 영향을 받는다. 서비스 간 연동이 많아질수록 연동 시스템의 품질도 함께 신경
💡 DB 성능은 연동하는 모든 서버 성능에 영향을 준다. DB 성능 문제로 전체 서비스가 먹통이 되는 상황도 빈번하게 발생한다. 쿼리 실행 시간이 길어지면 전체 서비스가 느려지는 성능 문제는 흔히 발생하는 문제이다. 하지만 DB 자체가 문제인 상황은 많지 않다. 오히
💡 사용자는 무언가를 실행했을 때 동작하기까지 걸리는 시간으로 성능을 판단하지만, 실제로는 다양한 지표가 성능과 관련되어있다.이러한 다양한 지표 중에서 서버 성능과 관련있는 중요한 지표들에 대하여 알아보고 성능 개선을 위한 방안을 확인해볼 수 있어야한다.‘응답 시간’

모놀리식 아키텍처에서는 하나의 애플리케이션이 단일 배포 단위로 묶여 있다.애플리케이션 프로세스가 하나고, 보통 고정된 포트에서 동작하기 때문에 “서비스 위치”를 관리하는 것은 어렵지 않다.단일 애플리케이션 → http://app.example.com:808

💡 많은 고수 개발자 분들이 불변 객체 사용의 중요성에 대해 이야기하고있습니다. 소프트웨어 개발에서 매우 중요하지만 때로는 간과될 수 있는 개념인 불변 객체(Immutable Object)와 가변 객체(Mutable Object)에 대해 조금 더 깊이 알아보고 왜 가

💡며칠 전부터 매일매일을 구독하면서 하루에 하나씩 기술 관련 이론을 공부하며 하루를 시작하고있습니다. 최근 데이터베이스 인덱스에 대한 질문에 대하여 공부를 하던 중 흥미로운 내용을 발견해서 함께 정리해보려 합니다.인덱스는 데이터베이스를 사용하는 개발자라면 반드시 알아

대부분의 웹 서비스는 여러 사용자가 동시에 이용하게 됩니다. 예를 들어, 이커머스 서비스에서는 하나의 상품을 여러 명이 동시에 주문하고, 콘서트 예매 서비스에서는 하나의 좌석을 여러 명이 동시에 예매하려고 시도합니다. 이러한 요청은 모두 하나의 데이터베이스에서 동일한

네이버클라우드 플랫폼의 CDN 서비스인 Global CDN을 사용하여 정적 파일 혹은 미디어 파일을 안전하게 제공하는 방법에 대해 알아보겠습니다.

이전 포스트에서 Redis를 설치하고 Spring boot 프로젝트와 연동하는 방법을 알아보았습니다. 이번 포스트에서는 실제로 Redis를 적용하는 방법과 성능의 차이를 비교해보도록 하겠습니다.Redis는 key:value형식으로 데이터를 다룹니다. value로 입력되

이전 포스트에서 Index를 적용하여 데이터 조회 성능을 향상시키는 방법에 대하여 알아보았습니다. 이번 포스트에서는 Redis in-memory cache를 적용하여 조회 성능을 향상시키는 방법에 대해 알아보겠습니다.데이터베이스의 Index는 데이터 조회 성능을 향상시

데이터의 조회 성능을 향상시키는 방법은 데이터베이스의 종류에 따라 또 데이터의 규모에 따라 다양합니다. 이번 포스트로 알아볼 것은 데이터 조회 성능을 향상시킬 수 있는 가장 기본적인 index 적용에 대하여 알아보고 실제 벌크 데이터를 활용하여 성능을 비교해보겠습니다.

앞서 docker의 기본적인 사용 방법에 대하여 알아보았습니다. 이 과정에서 필요로 하는 container를 생성하기 위해 docker hub에 있는 image를 docker host pc로 pull하여 실행해보았습니다. 만약 사내에서 운영중인 어떤 서비스를 image

Nginx에서 제공하는 upstream 설정을 활용하여 웹 서버에 가해지는 부하를 분산하는 방법을 알아보겠습니다. 로드 밸런싱 > 로드 밸런싱은 애플리케이션을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법입니다. - AWS(로드 밸런싱이란 무

이전 포스트에서는 docker host로 사용될 서버를 구성하고, docker 프로세스를 설치 및 실행해보았습니다. 이번 포스트를 통해 docker host서버 위에 새로운 우분투 컨테이너를 생성하고 ssh를 이용해 접속하는 방법을 알아보도록 하겠습니다. docker

저는 사내 개발 조직이 온프레미스에서 클라우드 컴퓨팅 환경으로 마이그래이션을 시작할 즈음 회사에 입사하게되었습니다. 이미 관련 업체 선정(Naver Cloud Platform, NCP)이 완료되었고 입사하였을 때는 기존 서비스는 하나둘씩 NCP로 옮기고 신규 프로젝

앞선 포스트에서 Spring-Cloud를 활용하여 properties파일을 관리하는 방법을 알아보았습니다. 이번 포스트에서는 config server에서 제공받은 properties정보를 사용하는 config client 설정 방법을 알아보겠습니다. Spring-Cl

관리하는 프로젝트의 수가 많아질수록, 배포 환경이 다양해질수록 속성(properties)파일을 관리하는게 번거로워질 수 있습니다. 하나의 Github repository로 여러개의 속성파일을 관리하는 방법을 알아봅시다. 2021년 회사에 입사 후 2년 반정도를 일하면

JPA에서는 데이터베이스에서 조회된 엔티티를 영속성 컨텍스트에 저장합니다. 이후 동일한 엔티티를 조회하는 요청이 들어온다면, 데이터베이스에서 같은 쿼리를 사용하여 엔티티를 조회 후 반환하는 것이 아닌 영속성 컨텍스트 내에 저장되어있는 엔티티를 찾아 반환해주기 때문에,