MSA 4

MSA에서 채팅 개발하기 (Spring, STOMP, Kafka, MongoDB, MySQL) - Kafka 세팅 #1

본격 적인 채팅을 개발하기 앞서서 카프카 기본 설정을 해주겠다. 나중에 내가 다시 채팅을 개발할 것이라는 다짐으로 최선을 다해서 작성할 예정인데,,, 솔직히 자신은 없다..   참고로, 이는 카프카 개념공부가 아닌,기본 설정환경을 이야기하는 것이므로, 앞으로 나올 모든 게시글에서 언급되는그룹id, producer, consumer 와 같은 개념은설명하지 않고 넘어가도록 하겠습니다..  Kafka 의존성 추가 implementation 'org.springframework.kafka:spring-kafka'testImplementation 'org.springframework.kafka:spring-kafka-test'//이건 ImmutableMap 사용하려고 추가한건데 나중에 kafka 설정에 필요한 것..

Back-End/JavaSpring 2025.04.13

MSA에서 API gateway를 통한 인증/인가를 처리하는 방식

MSA 아키텍처를 기반으로 프로젝트를 진행하다보니,고려해야할 사항이 한두가지가 아니다.   그 중에서도 먼저 가장 먼저 짚고 넘어가야할, 인증/인가 방식에 대해서 이야기해보려고한다. 이번 프로젝트에서 우리 팀은, spring cloud를 사용하여 MSA를 구성하려고 한다. 그중에서도 Eureka Discovery Server를 사용하여 어플리케이션 discovery 서버를 구축하고 Spring cloud gateway를 통해서 요청 라우팅 처리를 해줄 예정이다. 그리고 우리 팀이 선택한 인증/인가 방식과, 다른 팀들이 선택한 인증/인가 방식을 공유해보려고 한다    우리 팀이 선택한 인증/인가 방식  MSA 에서 인증/인가 로직을 어떻게 처리해줄까에 대한 고민을 해보았습니다.저희는 아래 그림과 같이, 인..

Back-End/JavaSpring 2025.03.14

DDD 기반 프로젝트 패키지 구조 설계 (SpringBoot)

이번 프로젝트는  "물류 관리 및 배송 시스템" 이다. 쿠팡 물류 시스템을 개발한다고 보면 될 것 같다 규모가 규모인 만큼 MSA 아키텍처로 설계하여 개발을 진행할 예정이다.    물론 서비스의 관점에서 보면 초기 빠른 개발을 통해서 MVP를 도출하려면 MSA는 적절한 아키텍처는 아니지만,대규모 트래픽을 처리하는 물류관리 및 배송 시스템을 마련해야 한다는 상황을 가정하고,개발을 시작할 것이다. 모든 주요 기능은 독립적인 마이크로 서비스로 개발할 것이고,각각의 서비스는 독립적으로 배포되고 확장, 유지보수 될 수 있도록 설계할 것이다.하지만, 모든 서비스를 MSA로 구성하지는 않을 것이다. 마이크로서비스는 보통 비즈니스 도메인에 맞춰 분리된다. 따라서 요구사항을 바탕으로 각 도메인과 마이크로서비스의 경계를 ..

Back-End/JavaSpring 2025.03.12

MSA란 무엇일까? (spring cloud, eureka, feignclient, ribbon, resilience4j

1. MSA 는 뭘까?MSA란 무엇이고 언제 사용해야하고 왜 사용해야 할까요? MSA는 Microservices Architecture 의 약자입니다.이걸 우리 서비스의 관점에서 해석하자면, 하나의 어플리케이션을 여러개의 독립적인 서비스로분리하여 개발, 배포, 유지보수를 용이하게 하는 아키텍처라고 볼 수 있습니다. 각 서비스는 독립적으로 운영되기 때문에다른 서비스에 영향을 미치지도 않고,기능을 팀별로 독립적으로 관리할 수 있으며,각 서비스마다 기술스택도 자유롭게 설정할 수 있습니다.2. 모놀리식 아키텍처 vs MSA보통 MSA와의 비교는 모놀리식 아키텍처와 비교가 많이 되는데,그 이유는 서로가 극명하게 차이를 보이고 있기 때문입니다. 모놀리식 아키텍처는 모든 기능이 하나의 어플리케이션에 포함되어 있는 점..

Back-End 2025.02.15
728x90