| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- redis
- 지연 로딩
- JPA
- 컨테이너
- CORS
- @ComponentScan
- 페이징
- docker
- DLQ
- Dead Letter Queue
- @Transactional
- Routing Key
- mybatis
- Web
- JPQL
- Spring
- securitycontextholderfilter
- MSA
- Spring Container
- docker compose
- kafka
- Spring Data JPA
- 서블릿 컨테이너
- dockerhub
- 스프링 부트
- JdbcTemplate
- DI
- JWT
- AWS
- 쿠버네티스
- Today
- Total
목록Service (3)
look-forest
기본적인 마이크로서비스 구축프로젝트 아키텍처실무에서 쓸 MSA를 구축하려면 각 Service와 DB를 전부 독립적인 서버에 실행시켜야 한다.하지만 프로젝트의 심플함을 위해 로컬 컴퓨터 한 대에서 포트 번호만 다르게 해서 실행시킬 것이다 DB설계[모놀리식 아키텍처]모놀리식 아키텍처에서는 위 그림과 같이 user_id를 참조한 채로 DB를 설계하게 된다. [마이크로서비스 아키텍처]하지만 마이크로서비스에서는 DB가 독립적으로 분리되어 있기 때문에 user_id를 참조할 수 없다.하지만 특정 게시글이 어떤 사용자의 게시글인지 파악하기 위해 user_id에 대한 정보는 있어야 한다. 따라서 boards 테이블에서 user_id는 FK를 설정하지 않은 채로 컬럼을 생성하면 된다. MSA에서는 DB를 독립적으로 분리..
디플로이먼트(Deployment)란?파드를 묶음으로 쉽게 관리할 수 있는 기능이다.실무에서는 보토 서버를 작동시킬 때 파드를 수동 배포하지 않고. 디플로이먼트를 활용한다.그리고 앞서 파드를 여러개 띄울 때의 한계를 살펴보았듯이, 여러 파드를 띄우거나 관리하는데 디플로이먼트가 유용하다. 디플로이먼트의 장점파드의 수를 지정하는 대로 여러 개의 파드를 쉽게 생성할 수 있음파드가 비정상적으로 종료된 경우, 알아서 새로 파드를 생성해 파드 수를 유지한다.동일한 구성의 여러 파드를 일괄적으로 일시 중지, 삭제, 업데이트 하기 쉽다.디플로이먼트의 구조디플로이먼트가 레플리카셋을 관리하고, 레플리카셋이 여러 파드를 관리하는 구조이다.레플리카(Replica): 복제본레플리카셋(ReplicaSet): 복제본끼리의 묶음[예제..
이번 시간에는 먼저 백엔드의 큰 그림부터 보고, Server가 무엇을 어떻게 Serve 하는지 알아보겠다. 백엔드 구조의 큰 그림 Spring을 활용한 백엔드는 보통 MVC 패턴 구조를 사용한다. 컨트롤러: 웹 MVC의 컨트롤러 역할 도메인: DB에 저장되고 관리되는 비즈니스 도메인 객체 (예: 회원, 주문 등) 레파지토리: DB에 접근, 도메인 객체를 DB에 저장하고 관리. 서비스: 핵심 비즈니스 로직 구현. 도메인 객체를 가지고 핵심 비즈니스가 동작하도록 구현한 객체 Q. 도메인과 DTO의 차이는? 더보기 DTO(Data Transfer Object) DTO는 계층간 데이터 교환을 위한 객체이다. 화면에서 넘어온 Form 데이터를 받기 위한 목적으로 DTO를 만들었다. "DTO 클래스는 View와 통..