본문 바로가기

web59

[MSA] Spring Cloud를 사용해보자(1)-MSA개념 스프링클라우드를 이용하기에 앞서 MSA 개념부터 짚고 넘어가고자 한다. ✔ MSA 개념 MSA란 무엇일까..? 요새 어떤 요구사항을 봐도 MSA라는 단어를 심심찮게 볼 수 있다. 그만큼 많은 기업들이 MSA(Microservices Architecture) 아키텍쳐에 관심을 가지고 도입하는 추세이다. 과연 기존과 어떤 점이 차별화 돼 있길래 이 MSA 아키텍쳐를 사용하는걸까? 먼저, 과거를 보자. 기존 대부분의 기업용 애플리케이션은 하나의 거대한 서비스 형태로 개발되어 왔다. 이 형태는 모놀리식 아키텍쳐(Monolithic Architecture, MA)라는 개념을 기반하며, UI 부터 DB접근까지가 하나의 애플리케이션으로 패키징되고 서버에 배포되어 왔다. 이에 대응하기 위해 MSA개념이 떠오르기 시작했.. 2023. 11. 28.
[MSA] SpringBoot + Kafka 를 이용하여 RestFul API 구현 해당글에 앞서 백킹서비스 개념을 먼저 알고 가는게 좋다 https://ssmyefrin.tistory.com/56 [MSA] Backing service - MOM ✔ Backing service Backing Service란, 어플리케이션이 실행되는 가운데 네트워크를 통해서 사용할 수 있는 모든 서비스를 말하며 My SQL과 같은 데이터베이스, 캐쉬 시스템, SMTP 서비스 등 어플리케이션 ssmyefrin.tistory.com 카프카를 설치했으니, 이제 Spring Boot 를 연동하여 구현해보자. ✔ 실행환경 - MacOS(Intel) - Kafka + Zookeeper (Docker) - IntelliJ + Gradle + SpringBoot 3.1.5 + JDK17 - Spring Cloud E.. 2023. 11. 27.
SpringBoot 에 Redis 연동하기 설치는 아랫글 참조 https://ssmyefrin.tistory.com/47 Redis 설치하기(cli로 설치) 실행환경 MAC(intel) 기준 1 설치하기 $brew install redis 2 실행하기 $brew services start redis $brew services stop redis $brew services restart redis $redis-server 3 설정파일경로 $ /usr/local/etc/redis.conf 4.실행하기 Medis 를 설 ssmyefrin.tistory.com 간단하게 SpringBoot 와 연동해보려고 한다. ✔ 실행환경 -IntelliJ + SpringBoot 3.1.5 + JDK17 -MAC OS(intel) -Redis (Medis) 간단히 조회.. 2023. 11. 27.
[WebClient] 사용시 주의사항 WebClient 는 Spring 에서 제공하는 RestClient 의 한 종류이다. 과거에 사용되던 RestTemplate 과 비슷한 역할이라고 생각하면 되는데 RestTemplate 는 장기적으로 Deprecated 예정이기 때문에 이제는 WebClient 를 사용해야 한다. WebClient 의 가장 큰 특징은 RestTemplate 과 다르게 논블로킹을 지원한다는 것이다. 말만 들으면 성능에 굉장한 이득이 있을 것 같지만 논블로킹 방식으로 사용하지 않으면 RestTemplate 을 사용하는 것과 차이가 없다. WebClient 의 응답값은 Mono 또는 Flux 타입이다. Mono, Flux 는 리액티브 스트림을 구성하는 파이프라인의 일부로 웹플럭스에서는 기본적으로 논블로킹 처리되지만 Spring.. 2023. 11. 23.