DevTales
close
프로필 배경
프로필 로고

DevTales

  • 분류 전체보기 (83)
    • Lang (49)
      • Java (21)
      • Kotlin (3)
      • C (12)
      • Go (9)
      • Python (4)
    • Spring (13)
      • Data (2)
      • Kafka (2)
      • Security (0)
      • Webflux (9)
    • Infra (9)
      • Database (3)
      • Middleware (0)
      • Container (1)
      • OS (5)
    • Build (0)
    • CS (3)
      • Network (1)
      • Security (1)
      • Architecture (1)
    • Leaner's High (5)
    • 기타 (4)
  • 홈
  • 방명록
Spring Kafka

Spring Kafka

Spring Kafka 앞서 작성한 글에서 Apache Kafka의 기본 구조와 분산 스트리밍 플랫폼으로서 Kafka가 제공하는 핵심 개념들을 살펴보았으니, 이번 글에서는 Spring Kafka에 대해서 자세히 살펴보겠습니다. Spring Kafka는 Kafka 클라이언트를 직접 다루는 복잡성을 줄이고, Spring의 프로그래밍 모델과 일관된 방식으로 메시지 프로듀서와 컨슈머를 구성할 수 있도록 지원합니다. 특히 템플릿 기반의 프로듀서 API, 애너테이션 중심의 리스너 모델, 트랜잭션과 오류 처리에 대한 통합 지원을 통해, Kafka를 보다 안정적이고 선언적으로 사용할 수 있게 해줍니다. Connecting to Kafka Spring Kafka에서 KafkaAdmin, ProducerFactory, ..

  • format_list_bulleted Spring/Kafka
  • · 2026. 1. 2.
  • textsms
Kafka

Kafka

Kafka Overview Event Streaming 이벤트 스트리밍(Event Streaming)은 오늘날의 디지털 시스템에서 핵심적인 역할을 수행하는 데이터 처리 방식입니다.공식 문서에서는 이를 인간의 신경계에 비유합니다. 신경계가 신체 곳곳에서 발생하는 신호를 실시간으로 전달하고 반응을 이끌어내듯, 이벤트 스트리밍은 시스템 전반에서 발생하는 사건을 지속적으로 전달하고 해석할 수 있도록 합니다. 기술적으로 이벤트 스트리밍이란, 데이터베이스, 센서, 모바일 기기, 클라우드 서비스, 소프트웨어 애플리케이션과 같은 다양한 이벤트 소스로부터 실시간으로 발생하는 데이터를 이벤트의 흐름(stream) 형태로 수집하고, 이를 내구성 있게 저장하며, 실시간 또는 사후적으로 처리하고, 필요한 대상에게 적절히 전달하..

  • format_list_bulleted Spring/Kafka
  • · 2025. 12. 26.
  • textsms
Spring Data R2DBC

Spring Data R2DBC

Spring Data R2DBC Spring Data R2DBC는 R2DBC 드라이버를 기반으로 Reactive 환경에서 관계형 데이터베이스 접근을 가능하게 하는 Spring Data 모듈입니다. 이 모듈은 Spring의 핵심 프로그래밍 모델과 일관된 개발 경험을 제공하기 위해 설계되었으며, Reactive 애플리케이션에서 엔티티 중심의 데이터 접근 패턴을 적용할 수 있도록 지원합니다. R2DBC는 논블로킹 I/O를 기반으로 설계된 데이터베이스 SPI이지만, 실제 애플리케이션 수준에서 사용하기 위해서는 매핑, CRUD 반복 코드, 쿼리 구성 등 부가적인 고려 사항이 필요합니다. Spring Data R2DBC는 이러한 영역을 추상화하여 개발자가 도메인 모델과 애플리케이션 로직에 집중할 수 있도록 돕습니다..

  • format_list_bulleted Spring/Data
  • · 2025. 12. 23.
  • textsms
R2DBC

R2DBC

R2DBC Reactive Relational Database Connectivity(R2DBC)는 비동기·논블로킹 방식으로 관계형 데이터베이스에 접근하기 위해 설계된 프로그래밍 모델입니다. 이 프로젝트는 2017년 Pivotal에서 개발을 시작하여 2018년부터 공식적으로 후원되기 시작했습니다. R2DBC는 Reactive Streams 사양을 기반으로 하며, Project Reactor 위에서 구현된 관계형 데이터베이스용 Reactive 드라이버 표준을 제공합니다. 이를 통해 기존 JDBC의 동기 처리 한계를 벗어나, 완전히 비동기적인 데이터베이스 접근을 지원합니다. JDBC/JPA 와 Non-Blocking JDBC는 1997년에 등장한 아주 오래된 API 스펙으로, JDBC 드라이버는 소켓 re..

  • format_list_bulleted Spring/Data
  • · 2025. 12. 15.
  • textsms
WebClient

WebClient

HTTP Client 기존에는 RestTemplate을 사용하여 동기 방식으로 HTTP 요청을 수행했지만, 요청량이 증가할수록 스레드가 차오르고 확장성이 떨어지는 문제가 발생했습니다. 이러한 요구를 해결하기 위해 Spring WebFlux에서는 완전한 논블로킹(Non-Blocking) 기반의 HTTP 클라이언트인 WebClient를 제공합니다. WebClient는 Reactor 기반의 함수형(Functional)·유창한(Fluent) API 스타일을 갖추고 있어, 개발자가 스레드와 동시성 처리에 직접 개입하지 않고도 비동기 로직을 선언적으로 구성할 수 있다는 장점이 있습니다. 또한 서버 측에서 요청과 응답을 인코딩/디코딩할 때 사용하는 것과 동일한 코덱(codec)을 활용하며, 스트리밍까지 지원하기 때문..

  • format_list_bulleted Spring/Webflux
  • · 2025. 12. 11.
  • textsms
DispatcherHandler

DispatcherHandler

DispatcherHandler Spring WebFlux에서 WebFluxConfigurationSupport를 통해서 DispatcherHandler를 생성하고 이를 "webHandler"라는 이름의 Bean으로 등록한다는 것을 확인했습니다. 또한 HttpHandlerAutoConfiguration는 "webHandler" 라는 이름의 Bean을 찾아서 WebHttpHandlerBuilder에 조합하고, 최종적으로 HttpHandler Bean을 생성해 등록한다는 것도 확인했습니다. 이번 글에서는 DispatcherHandler에 대해 깊게 살펴보겠습니다. Spring WebFlux는 Spring MVC와 마찬가지로 Front Controller 패턴을 따릅니다. 이때 WebFlux 쪽에서 Fron..

  • format_list_bulleted Spring/Webflux
  • · 2025. 12. 10.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
전체 카테고리
  • 분류 전체보기 (83)
    • Lang (49)
      • Java (21)
      • Kotlin (3)
      • C (12)
      • Go (9)
      • Python (4)
    • Spring (13)
      • Data (2)
      • Kafka (2)
      • Security (0)
      • Webflux (9)
    • Infra (9)
      • Database (3)
      • Middleware (0)
      • Container (1)
      • OS (5)
    • Build (0)
    • CS (3)
      • Network (1)
      • Security (1)
      • Architecture (1)
    • Leaner's High (5)
    • 기타 (4)
최근 글
인기 글
최근 댓글
태그
  • #점프 투 파이썬
  • #WebFlux
  • #Java의 정석
  • #java
  • #Kotlin In Action
  • #혼자 공부하는 C언어
  • #R2DBC
  • #tucker의 go언어 프로그래밍
  • #Netty
  • #비동기
전체 방문자
오늘
어제
전체
Copyright © Kakao Corp. All rights reserved.
Designed by 티스토리

티스토리툴바