본문 바로가기

전체 글

[Springboot] spring Web tomcat 서버로 구현된 프로젝트 spring WebFlux Netty 서버 사용으로 바꾸기 - 2 1. 의존성 수정 1) 기존spring-boot-starter-web과 spring-boot-starter-webflux가 모두 의존성에 포함되면 Tomcat이 기본 웹 서버로 설정됩니다.이는 spring-boot-starter-web이 spring-boot-starter-webflux보다 우선하기 때문입니다.dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-webflux'}  2) 수정의존성 변경: build.gradle에서 spring-boot-starter-web을 제거하고 spring-.. 더보기
[Springboot] Spring WebFlux 1. Spring WebFlux 개요Spring WebFlux는 Reactive Programming을 지원하는 스프링의 웹 프레임워크로, Spring 5부터 도입되었습니다. Reactive Programming은 비동기 데이터 스트림을 기반으로 시스템이 높은 성능을 유지할 수 있게 해주는 프로그래밍 패러다임입니다. WebFlux는 내부적으로 Project Reactor를 사용하며, 비동기 스트림을 처리하기 위한 두 가지 주요 개념인 Flux와 Mono를 제공합니다.Flux: 여러 개의 데이터를 비동기적으로 스트리밍하는 Publisher의 구현체.Mono: 단일 데이터(혹은 없을 수도 있음)를 비동기적으로 처리하는 Publisher의 구현체.Spring WebFlux는 비동기적이며 논블로킹 방식으로 작동.. 더보기
[Springboot] spring Web tomcat 서버로 구현된 프로젝트 spring WebFlux Netty 서버 사용으로 바꾸기 - 1 1. 현재 프로젝트 1) spring-boot-starter-web 과spring-boot-starter-webflux 둘 다 의존하여 사용spring-boot-starter-web과 spring-boot-starter-webflux 두 가지 의존성이 함께 설정되어 있기 때문에 Tomcat 서버가 우선 적용Tomcat은 기본적으로 블로킹 I/O 모델을 사용하는 서블릿 컨테이너로 전통적인 Spring MVC 방식에서는 동기 블로킹 I/O 처리 하지만WebFlux는 Servlet 3.1 이상을 지원하는 Tomcat에서 비동기 논블로킹 방식으로도 작동할 수 있음(Servlet 3.1 이상부터는 비동기 요청을 처리할 수 있는 기능이 도입) 2) 주요 비즈니스 로직WebClient를 통해 여러 외부 API 호출을.. 더보기
Spring Web vs Spring WebFlux Spring Web과 Spring WebFlux는 모두 Spring 프레임워크의 웹 개발을 위한 모듈이지만, 동작 방식에 차이가 있습니다.다음은 두 모듈의 주요 차이점입니다1. 동기 vs 비동기 처리Spring Web (MVC):동기 방식으로 작동합니다.요청을 처리할 때, 각 요청은 스레드를 점유하며, 해당 스레드가 작업을 완료하기 전까지는 다른 작업을 수행하지 못합니다. 이를 "스레드 기반" 모델이라 할 수 있습니다.요청이 많을 경우 스레드 풀이 가득 차면 성능이 저하될 수 있습니다.Spring WebFlux:비동기, 논블로킹 방식으로 작동합니다.스레드가 작업을 처리하는 동안 블로킹되지 않으며, 다른 요청도 동시에 처리할 수 있습니다. 이를 "리액티브" 모델이라고 합니다.요청이 많아도 스레드가 블로킹되.. 더보기
sqlite.db 파일 dbeaver 에서 열기 더보기
[ERROR] failed to solve: process "/bin/sh -c pip install --no-cache-dir -r requirements.txt" did not complete successfully: exit code: 1 1. 에러도커 이미지 빌드 시 아래와 같은 에러 발생84.14 Building wheels for collected packages: logging-config, utils 84.14 Building wheel for logging-config (setup.py): started 84.92 Building wheel for logging-config (setup.py): finished with status 'done' 84.92 Created wheel for logging-config: filename=logging_config-1.0.4-py3-none-any.whl size=5274 sha256=7ab12ac0da6b88ad142b00a3bb74874a4c1a681aeb9eb44596266a68d.. 더보기
[Error] Error parsing HTTP request header [2024-08-06 13:24:54:70292406]  INFO  1 --- [-8080-exec-1360] [] o.a.coyote.http11.Http11Processor        : Error parsing HTTP request header Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.java.lang.IllegalStateException: More than the maximum allowed number of headers, [100], were detected.        at org.apache.tomcat.util.http.MimeHeaders.createHeader(Mi.. 더보기
[AWS] Certified Cloud Practitioner(CCP) 모듈1: AMAZON WEB SERVICES 소개 1. AWS 이점 1) 선행 비용을 가변 비용으로 대체2) 데이터 센터 운영 및 유지 관리에 비용 투자 불필요 -> 비용절감3) 용량 추정 불필요 -> 탄력성4) 거대한 규모의 경제로 얻게 되는 이점5) 속도 및 민첩성 향상6) 몇 분 만에 전 세계에 배포 2. 클라우드 컴퓨팅IT 리소스를 인터넷을 통해 *온디맨드로 제공하고 사용한 만큼만 비용을 지불하는 것물리적 데이터 센터와 서버를 구입, 소유 및 유지 관리하는 대신 AWS와 같은 클라우드 공급자로부터 필요에 따라 컴퓨팅 파워, 스토리지, 데이터베이스와 같은 기술 서비스에 액세스할 수 있음* 온디맨드: 클라우드 플랫폼(aws, azure 등)에서 사용자가 필요할 때 컴퓨팅 자원(서버, 스토리지 등)을 즉시 사용할 수 있도록 지원하는 것으로 전통적인 I.. 더보기