# Prologue

![](/files/-LH6l4H0EWQvNC1mq4_P)

## 모놀리틱 애플리케이션의 한계

* 비즈니스 규모 증가 -> 생존을 위해 MSA로 전환
* 우버 사례
  * 배포에 2\~3일, 프론트엔드는 1주일 마다 배포 vs 백엔드 배포 주기
* 빠른 서비스 딜리버리 불가&#x20;

## 마이크로서비스 아키텍처로 전환 시 해결과제

1. 서비스간 커뮤니케이션 방법 변화
2. 솔루션: Netflix Zuul, Feign
3. 클라우드, 컨테이너 활용에 따른 위치 관리, 로드밸런싱 이슈
4. 솔루션: Netflix Eureka, Ribbon
5. 네트워크 문제 등 예상치 못한 에러에 대한 대응 방안
6. 솔루션: Netflix Hystrix, Spring Cloud Sleuth

## Netflix OSS 탄생 배경

* 비즈니스 로직을 작성하는 것 외에 마이크로서비스 아키텍처를 위해 필요한 서비스가 많다!
* 2008년부터 7년간 MSA로 전환 경험, 내부 서비스를 Netflix OSS로 공개

## 오늘의 학습 내용

* Netflix Zuul, Eureka, Ribbon, Hystrix, Feign
* Spring Cloud Sleuth

## Eureka, Zuul, Ribbon Interation

![](/files/-LH6l4H7nk8mdW0QmEi9)

### Zuul

* Server-side load balancer
* 왜 클라이언트와 백엔드 서비스가 직접 통신하지 않지?

### Eureka

* Service discovery
* 서비스 클라이언트: "현재 실행중인 서비스 인스턴스 정보를 모두 알려줘!"
* Eureka는 어떻게 이 주소를 알 수 있지?

### Ribbon

* Client-side load balancer
* Ribbon이 어떻게 라우팅할 인스턴스를 찾지?


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://coe.gitbook.io/guide/prologue.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
