본문 바로가기
728x90
반응형

스프링부트24

Spring에서 RabbitMQ를 사용하여 데이터를 받아보자 안녕하세요 오늘은 RabbitMQ를 사용하여 큐에 데이터를 넣고 빼는 작업을 해보겠습니다. RabbitMQ는 메시지 브로커(Message Broker)로서, 분산 시스템 간의 비동기적인 통신을 위해 사용됩니다. 1. 의존성 추가 먼저, 프로젝트의 의존성 관리 파일(예: pom.xml 또는 build.gradle)에 RabbitMQ 관련 의존성을 추가해야 합니다. 메이븐: org.springframework.boot spring-boot-starter-amqp 그래들: implementation 'org.springframework.boot:spring-boot-starter-amqp' 2. RabbitMQ 연결 설정 Spring Boot를 사용하는 경우, application.properties 또는 a.. 2023. 10. 14.
Spring WebFlux의 WebClient를 사용하여 비동기, 논블로킹 방식으로 HTTP 요청을 보내보자 안녕하세요 오늘은 WebFlux에서 WebClient를 사용해보겠습니다. 1. 의존성 추가 먼저, 프로젝트의 의존성 관리 파일(예: pom.xml 또는 build.gradle)에 Spring WebFlux와 WebClient 의존성을 추가해야 합니다. 메이븐: org.springframework.boot spring-boot-starter-webflux 그래들: implementation 'org.springframework.boot:spring-boot-starter-webflux' 2. WebClient 생성 WebClient를 사용하기 위해 먼저 WebClient 인스턴스를 생성해야 합니다. 일반적으로 WebClient.builder() 메소드를 사용하여 인스턴스를 생성합니다. WebClient w.. 2023. 10. 14.
Java 스프링부트를 이용한 RESTful API 작성하기: JPA와 데이터베이스를 사용한 api 기본 예제 안녕하세요 오늘은 스프링부트를 이용해서 RESTful API 작성 해보겠습니다. 이 글을 통해 기본적인 데이터베이스 연결 및 JPA 사용 api 구현등 가장 중요한 부분들을 살펴 보겠습니다. 바로 시작하겠습니다. 1. Spring Boot 프로젝트 설정: Spring Initializer(start.spring.io)를 사용하여 새 프로젝트를 만들고 https://start.spring.io/ "Spring Web" 및 "Spring Data JPA", "postgresql"와 같은 필요한 종속 항목을 선택합니다. 저는 db를 postgres로 사용하였지만 자유롭게 쓰고 싶은 db를 사용하시면 됩니다. 아 참고로 db 세팅이 궁금하시다면 다음 링크에서 작성해놓았습니다. https://rhgustmfrh... 2023. 9. 27.
Spring WebFlux 알아보기 - Mono 예제 안녕하세요 오늘은 Spring WebFlux에서 Mono의 쓰임새를 좀더 알아보는 시간입니다. 전에 WebFlux를 시작하는 글을 작성했는데 배경을 이해하시는데 도움이 될것입니다. https://rhgustmfrh.tistory.com/90 Spring WebFlux 시작하기 - 리액티브 웹 애플리케이션 개발과 R2DBC 소개 안녕하세요 오늘은 Spring WebFlux에 대해 알아보겠습니다. 지금까지 Spring MVC 어플리케이션을 많이 사용해 왔는데 WebFlux는 이와 대비되는 리액티브 웹 어플리케이션으로써 비동기 통식 방식을 사용 rhgustmfrh.tistory.com Mono를 사용한 코드 예제를 하나 작성하고 무엇이 사용되고 어떤 이유로 작성되었는지 알아보겠습니다. Mono getDataF.. 2023. 9. 1.
Spring WebFlux 시작하기 - 리액티브 웹 애플리케이션 개발과 R2DBC 소개 안녕하세요 오늘은 Spring WebFlux에 대해 알아보겠습니다. 지금까지 Spring MVC 어플리케이션을 많이 사용해 왔는데 WebFlux는 이와 대비되는 리액티브 웹 어플리케이션으로써 비동기 통식 방식을 사용하여(Non-Blocking) 빠르고 유연한 처리가 장점입니다. 바로 예제를 통해 알아보겠습니다. package com.wfhmarket.api.config; import io.r2dbc.spi.ConnectionFactories; import io.r2dbc.spi.ConnectionFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configurati.. 2023. 8. 21.
스프링 클라우드 데이터 플로우(SCDF)를 활용한 무중단 서비스 구축: 소스, 프로세서, 싱크 어플리케이션 스트림 통합 및 배포 (3) 이제 SCDF 서버로 다시 돌아와서 지금까지 만들었던 어플리케이션을 스트림 구조를 활용하여 무중단 서비스를 만들어 봅시다. add applications 클릭 1. 하나의 어플리케이션 등록 클릭 2. name , type , URI 설정 -. type에는 source, processor, sink 에 맞게 골라 주세요 -. URI에는 메이븐 리파지토리에 올린 본인의 jar를 추가해 주는데 다음과 같은 형식으로 올리면 됩니다. maven://그룹아이디:네임:버전 위와 같이 source, processor, sink를 올려주면 본인이 올린 어플리케이션들을 확인 할 수 있습니다. 이제 Streams 탭을 클릭하고 create streams를 클릭합니다. 우리가 만든 어플리케이션을 왼쪽에서 찾아 드래그 하여 담.. 2023. 6. 12.
스프링 클라우드 데이터 플로우 (SCDF)를 활용한 실시간 데이터 파이프라인 구축 - 소스, 프로세서, 싱크 어플리케이션 개발 및 통합 실습 (2) 우리는 로컬 SCDF 서버를 띄우는데 성공했습니다. 이제 여기서 뭘 할 수 있을까요?? 위의 어플리케이션 타입을 보면 source , processor, sink를 확인 할 수 있습니다. 이 세가지 어플리케이션은 각각 데이터 제공, 데이터 가공, 데이터 처리의 역할을 할 수 있습니다. 바로 실습해 봅시다. 먼저 source 어플리케이션을 만듭니다. https://start.spring.io/ 1. spring.io 로 이동하여 test source 프로젝트를 만들어줍니다. 저는 롬복과 래빗엠큐를 의존성으로 주입하여 만들었습니다. 이 프로젝트는 5초에 한번씩 hello, SCDF! 라는 메시지 데이터를 제공합니다. (1). app입니다. package com.example.scdfsource; import.. 2023. 6. 12.
스프링 클라우드 데이터 플로우 (SCDF)를 이용한 로컬 서버 구축 및 어플리케이션 통합 - 실습 가이드와 네이버 개발자 리소스 (1) 여러가지 문서들을 찾아 보면서 네이버 개발자분의 정리가 잘되어있어 참고하였습니다. 스프링 클라우드 데이터 플로우에 대한 이해를 높이기 위해 먼저 살펴보면 좋을 것 같아 참조합니다. 참조 : https://deview.kr/data/deview/session/attach/[135]SCDF%EB%A1%9C+%ED%95%98%EB%A3%A8+N%EB%A7%8C%EA%B3%A1+%EC%9D%B4%EC%83%81+VIBE+%EB%A9%94%ED%83%80+%EB%8D%B0%EC%9D%B4%ED%84%B0+%EC%8B%A4%EC%8B%9C%EA%B0%84%EC%9C%BC%EB%A1%9C+%EC%A0%81%EC%9E%AC%ED%95%98%EA%B8%B0!+-+%EB%B0%B0%ED%8F%AC%EC%9A%A9%20(1.. 2023. 6. 9.
스프링 클라우드 데이터 플로우 (SCDF)를 활용한 실시간 대용량 데이터 처리 프로젝트 소개와 경험 공유 안녕하세요 한동안 정신없이 바빴던 네띠와 레디스를 사용한 사내 프로젝트를 마무리하고 새로운 프로젝트를 시작하려 합니다. 네띠와 레디스에 대해 배운점은 차근차근 업데이트 할 예정이고 오늘은 새로운 프로젝트의 주요기술인 스프링 클라우드 데이터 플로우(SCDF)에 대해 알아보겠습니다. 사내에서 레거시 대용량 데이터를 관리하는 부분에 해당 기술을 적용하려 하는데요 해당 기술을 찾아보면서 제가 알게된 내용들을 공유해드리려 합니다. 공식 문서를 찾아보면 Spring Cloud Data Flow는 구성 가능한 데이터 마이크로서비스를 위한 클라우드 네이티브 프로그래밍 및 운영 모델입니다. 데이터 수집, 실시간 분석 및 데이터 가져오기/내보내기와 같은 일반적인 사용 사례를 위한 데이터 파이프라인을 만들고 오케스트레이션할.. 2023. 6. 8.
Stomp를 활용한 실시간 채팅 프로그램 구현: 웹소켓 최적화 및 효율적인 메시징 전송 (4) 이번에는 Websocket의 프로세스를 좀더 고도화 하고 메시징에 좀 더 최적화된 방식을 구현하기 위해 Stomp를 적용해 보겠습니다. Stomp란? stomp는 메시징 전송을 효율적으로 하기 위해 나온 프로토콜이며 기본적으로 pub/sub 구조로 되어있습니다. 메시지를 발송하고 처리하는 부분이 명확하여 개발하는 입장에서 명확하게 인지하고 개발 할 수 있는 이점이 있습니다. 또한 통신 메시지의 헤더에 값을 세팅할 수 있어 헤더값을 기반으로 통신 시 인증처리를 구현하는 것도 가능합니다. pub는 publisher(집배원)으로 볼 수 있으며 sub는 subscriber(구독자)로써 여러명이 될 수 있습니다. - 채팅방 만들기 : pub/sub를 위한 topic 생성 - 채팅방 입장 : topic 구독 - 채.. 2023. 2. 24.
728x90
반응형