티스토리 뷰
[MSA] Spring Cloud로 개발하는 E-commerce 마이크로 서비스 어플리케이션(User Service) - 1 -
박강균 IT 2022. 4. 8. 17:47저번 시간에 저희가 세가지 서비스를 구축하기로 했던 거 기억하시나요?
먼저 USER SERVICE 를 구축하도록 하겠습니다.
간단하게 아키텍쳐를 구현해보면 다음과 같을 거에요.
#UserService Architectrue
Client 에서 요청을 하면 사실 먼저 통신을 하는건 Eureka Server 겠지만
구조 상 클라이언트와 Eureka Server 사이에 있는게 Gateway라 이런식으로 아키텍쳐가 구성이 되어 있어요.실질적인 흐름은 클라이언트의 요청 > Eureka Server에서 요청에 맞는 서비스 서치 > Gateway에서 해당하는 Service 서치서비스 응답 내용을 클라이언트에 다시 응답하는 순서로 갈거에요 :)
해당 아키텍쳐가 이해하는데 도움이 됐으면 좋겠네요. 그럼 실질적으로 User Microservice의 구성에 대해서 알아보도록 할게요.
# User Microservice의 구성
구성은 간단하게 Front - end와 Business Logic , Data Base로 나눌 수 있는데
가장 중요한 부분인 Business Logic부분을 먼저 개발 할 예정입니다.
그럼 먼저 메인 로직들의 API를 정의할게요!.
기능 | URL(API Gateway) | URI( !API Gateway) | HTTP Method |
사용자 정보 등록 | /user-service/users | /users | POST |
전체 사용자 조회 | /user-service/users | /users | GET |
사용자 정보,주문 내역 조회 | /user-service/{user-id} | /users/{user_id} | GET |
작동 상태 확인 | /user-service/users/health_check | /users/health_check | GET |
환영 메시지 | /user-service/users/welcomne | /users/welcome | GET |
URL은 Gateway를 사용할때와 사용하지 않는 경우 나뉘게 됩니다. 다만 게이트웨이를 사용하지 않는 부분이
간결하고 좋아보일 수 도 있지만 저희가 로드밸런싱과 토큰인증등을 활용하기 위해서 Gateway의 사용이 꼭 필요하다는 점!
그리고 여기서 짧게 짚고가야할 부분은 사용자 정보 등록과 전체 사용자 조회의 URL이 일치한다는 점에 의문이 드시는
분도 계실거에요. 이유는 Restful API형태로 제작을 할 예정이기 때문에, 규약에 맞춰서 제작하면서 이렇게 만들었어요!
이 부분은 HTTP Method의 종류에 따라( POST,GET,PUT,DELETE 등..)같은 URL이어도 다른 역할이 하도록 만든다.
정도로 이해해주시면 될것같아요
개요는 여기서 마칠게요. 다음 포스팅부터는 실제로 제작하면서 User Service를 구축해보도록 하겠습니다.
'웹 프로그래밍 > MSA 학개론' 카테고리의 다른 글
[MSA] Spring Cloud로 개발하는 E-commerce 마이크로 서비스 어플리케이션(User Service) - 3 - (0) | 2022.04.18 |
---|---|
[MSA] Spring Cloud로 개발하는 E-commerce 마이크로 서비스 어플리케이션(User Service) - 2 - (0) | 2022.04.18 |
[MSA] Spring Cloud로 개발하는 E-commerce 마이크로 서비스 어플리케이션 - 0 - (0) | 2022.04.08 |
[MSA] Spring Cloud로 개발하는 MS 어플리케이션 (Load Balancer) - 9 - (0) | 2022.04.08 |
[MSA] Spring Cloud로 개발하는 MS 어플리케이션 (Load Balancer) - 8 - (0) | 2022.04.08 |
- Total
- Today
- Yesterday
- MSA
- Logstash to ElasticSearch
- MariaDB
- 루틴기록
- git
- UserService
- springcloud
- Logstash 활용
- github
- Feign
- consumer
- Gateway
- rabbitmq
- Kafka Connect
- kafka
- 운동
- 운동일기
- 미래의나에게동기부여
- config
- elasticSearch
- prometheus
- JWT
- LoadBalancer
- 오늘저녁 삼겹살
- Spring + ELK
- 빅-오
- docker
- zipkin
- producer
- ACTUATOR
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |