반응형

netty 4

9편. Spring WebFlux - 언제 MVC가 아니라 WebFlux를 선택해야 할까?

Spring Web을 다루다 보면, 반드시 한 번은 마주치는 질문이 있다.“Spring Web MVC로 충분한데, WebFlux는 왜 존재할까?”Spring WebFlux는 Spring Web MVC의 대체재가 아니라, 서로 다른 실행 모델을 제공하는 또 하나의 선택지다.이 글에서는 Spring WebFlux가 등장한 배경과 실행 모델의 차이를 살펴보고, 실무에서 언제 WebFlux를 선택해야 하는지 기준을 정리한다.1. Spring Web MVC의 실행 모델 다시 보기Spring Web MVC는 서블릿 기반의 블로킹 I/O 모델을 사용한다.요청 처리 방식은 비교적 단순하다.요청 1건당 스레드 1개가 할당된다해당 스레드는 요청 처리 전체를 담당한다I/O 작업 동안 스레드는 대기 상태가 된다이 모델은 구현..

gRPC Memory & Resource Management

이 글은 gRPC Java 공식 문서의 Performance 및 Resource Usage 내용을 기준으로, gRPC 서비스를 운영할 때 메모리가 어디서 사용되고, 어떤 상황에서 OOM이나 리소스 고갈이 발생하는지, 그리고 이를 설정과 설계로 어떻게 예방하는지를 정리한 글입니다. 기준 문서: https://grpc.io/docs/guides/performance/ 📌 카테고리: Dev > gRPC1. gRPC에서 메모리 문제는 왜 늦게 드러날까?gRPC 메모리 문제는 보통 다음 특징을 가진다.에러 없이 트래픽을 정상 처리하다가부하가 누적된 뒤갑자기 OOM이나 응답 지연으로 나타난다이는 gRPC가 연결 기반이고, 메시지를 버퍼링하며 처리하기 때문이다. 즉, 요청 하나하나는 가볍지만, 누적된 리소스 사..

[Spring Boot 공식 문서 정리] 18. Embedded Server는 어디까지 제어해야 할까

17편에서는 Auto-Configuration을 어디까지, 어떤 순서로 커스터마이징해야 하는지를 정리했다.이번 글에서는 그 연장선에서, Spring Boot 애플리케이션이 실행되는 런타임의 가장 바깥 경계, 바로 Embedded Server를 다룬다.“스레드 풀을 튜닝해야 할까?” “Tomcat 설정을 직접 건드려야 할까?” 같은 질문에 대한 기준을 세우는 것이 목표다.1) Embedded Server는 “편의 기능”이 아니라 “설계 선택”이다Spring Boot 이전에는 애플리케이션 서버(WAS)와 애플리케이션이 명확히 분리되어 있었다.Spring Boot는 이 구조를 뒤집었다. “서버를 애플리케이션 안으로 가져오자.” Embedded Server는 단순한 편의 기능이 아니다. 배포 단위를 단순화하고,..

[gRPC 공식 문서 정리] Concurrency & Threading Model: 동시성은 어디서 깨질까?

[gRPC 공식 문서 정리] Concurrency & Threading Model: 동시성은 어디서 깨질까?이 글은 gRPC Java 공식 문서(Concurrency / Performance)를 기준으로, gRPC 서버와 클라이언트에서 요청이 어떤 스레드에서 실행되는지, 그리고 동시 요청이 많아질 때 왜 성능·안정성 문제가 발생하는지를 실무 관점에서 정리한 글입니다. 기준 문서: https://grpc.io/docs/languages/java/basics/ https://grpc.io/docs/guides/performance/ 📌 이 글은 gRPC 공식 문서 정리 시리즈의 일부입니다.(카테고리: Dev > gRPC)1. gRPC에서 “동시성 모델”을 이해해야 하는 이유gRPC는 단순한 HTTP ..

반응형