💡 REST vs gRPC 시리즈gRPC의 이해 — REST와 무엇이, 왜 다른가실제 gRPC 도입을 위한 PoC 과정과 결국 REST를 결정한 이유 (현재 글)모놀리식을 MSA로 분리하는 과정에서, 마이크로서비스 간 동기 통신을 REST로 할지 gRPC로 할지 정해
💡 REST vs gRPC 시리즈gRPC의 이해 — REST와 무엇이, 왜 다른가 (현재 글)실제 gRPC 도입을 위한 PoC 과정과 결국 REST를 결정한 이유 (작성 예정)이 시리즈는 사내에서 gRPC 도입을 검토하며 직접 벤치마크를 돌려본 경험을 바탕으로 합니다

모놀리식으로 서비스를 운영할 때, 데이터 정합성은 사실 크게 고민할 거리가 아니었다. 주문을 받으면서 재고를 차감하는 로직이 있다고 해보자. 코드는 대충 이런 모양이었다.@Transactional 하나면 충분했다. 주문 저장과 재고 차감이 같은 DB 안에 있으니, 둘

들어가며 AI 기술이 고도화되면서, 개발자가 직접 '코딩'이라는 행위를 하는 빈도는 눈에 띄게 줄어들었다. 적어도 내 작업 방식은 그렇다. 요즘 내 하루는 이런 식으로 흘러간다. 요구사항을 직접 확인하고, 엣지 케이스와 모호한 지점을 기획자와 함께 명확히 한다. 그
요즘 AI 코딩 에이전트 뉘앙에 힙스되는 개발 스타일이 있습니다. 바로 "블라인드하게 코드를 짜다(vibe coding)". AI가 코드를 품품 내줘주니 빠르게 만들 수는 있지만, 스펙 없이 만들어진 코드는 나중에 센센이 엽혀 다시 짜는 상황이 생길 수 있습니다.Git
들어가며 Spring Boot 환경에서 Redis를 도입할 때, 단순히 의존성을 추가하고 RedisTemplate을 사용하는 것에서 그치는 경우가 많습니다. 하지만 Redis 클라이언트의 동작 방식을 제대로 이해하지 못하면, 운영 환경에서 예상치 못한 커넥션 폭증이나
스프링 프레임워크에 대해 알아보기에 앞서 프레임워크란 무엇인지 알아보겠습니다.프레임워크는 프로그래밍 환경에서 발생할 수 있는 다양한 문제를 쉽고 빠르게 해결할 수 있도록 도와주는 미리 정의된 기능의 집합입니다.스프링 프레임워크란(정확히는 자바 기반 애플리케이션 전반에서
동기(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 적용에 대하여 알아보고 실제 벌크 데이터를 활용하여 성능을 비교해보겠습니다.