일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CircuitBreaker
- 트랜잭션
- 스프링부트
- HTTP
- 프로그래머스
- 세션
- Paging
- 코드리뷰
- 백준
- 자바
- JPA
- 프리코스
- MSA
- 서블릿
- REDIS
- yml
- 우아한테크코스
- 레벨2
- 우테코
- AWS
- Docker
- Spring Batch
- JUnit5
- 스프링 부트
- Level2
- 우아한세미나
- AOP
- 미션
- mock
- 의존성
- Today
- Total
목록MSA (3)
늘
RPC 원격 프로시저 호출(Remote Procedure Call)은 네트워크의 세부 사항을 이해하지 않고도 한 프로그램이 네트워크의 다른 컴퓨터에 있는 프로그램에 서비스를 요청하는 데 사용할 수 있는 소프트웨어 통신 프로토콜이다. RPC는 클라이언트 - 서버 모델이다. 요청하는 프로그램은 클라이언트이고, 서비스를 제공하는 프로그램은 서버이다. 로컬 프로시저 호출과 마찬가지로 RPC는 원격 프로시저의 결과가 반환될 때까지 요청 프로그램을 일시 중지해야 하는 동기 작업이다. 그러나 동일한 주소 공간을 공유하는 경량 프로세스 또는 스레드를 사용하면 여러 RPC를 동시에 수행할 수 있다.(+ grpc를 사용하면 비동기식으로 사용할 수 있다.) API를 설명하는 데 사용되는 사양 언어인 IDL(인터페이스 정의 ..
계층형 아키텍처(Layered Architecture) or 멀티 티어(tier) 아키텍처 - 책임과 성격이 다른 것을 크게 그룹으로 만들어 분리해두는 것 - 유사한 관심사들을 layer로 나눠서 수직적으로 배열한 것 보통 웹 기반의 엔터프라이즈 애플리케이션은 3개의 계층을 갖는다고 해서 3계층 애플리케이션이라고도 한다. 3계층 아키텍처와 수직 계층(토비의 스프링) Presentation Layer: 웹 기반의 UI를 만들어내고 그 흐름을 관리하는 계층 Service Layer: 비즈니스 로직을 담고 있는 계층 DataAccess Layer: 백엔드의 DB나 레거시 시스템과 연동하는 인터페이스 역할을 하는 계층(infrastructure 계층) 3계층 아키텍처(조영호 개발자님) Presentation: ..
대표적으로 외부 api를 호출하는 방식에 resttemplate이 있는데 이것은 동기 방식을 이용한 방법이고, WebClient가 비동기를 이용한 방식이다. 공식문서를 보면 스프링 5부터는 webClient사용을 더 추천하고 있다. 또한 restTemplate은 곧 deprecated 된다고 한다. 공통점으로는 둘 다 Http client에서 사용된다는 것이다. RestTemplate RestTemplate은 Multi-Thread와 Blocking방식을 사용합니다. Thread pool은 요청자 어플리케이션 구동 시에 미리 만들어 놓습니다. Request는 먼저 Queue에 쌓이고 가용한 스레드가 있으면 그 스레드에 할당되어 처리됩니다. 즉, 1 요청 당 1 스레드가 할당됩니다. 각 스레드에서는 Blo..