Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ko] Translate 'Distributed Apps' in Korean #1285

Merged
merged 3 commits into from
Sep 8, 2022
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions content/ko/distributed-apps.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: 분산 애플리케이션 (Distributed Apps)
status: Completed
category: concept
seokho-son marked this conversation as resolved.
Show resolved Hide resolved
tags: ["아키텍처", "", ""]
---

## 개념

분산 애플리케이션은 그 기능을 여러 개의 독립적이고 작은 부분들로 나누어 동작하는 애플리케이션이다.
분산 애플리케이션들은 폭넓게 바라본 애플리케이션의 범주 내에서 서로 다른 문제를 처리하는
개별 [마이크로서비스](/ko/microservices/) 컴포넌트들로 구성된다.
클라우드 네이티브 환경에서는 개별 컴포넌트들이 일반적으로 [클러스터](/cluster)에서 [컨테이너](/ko/container/)로 실행된다.

## 다루는 문제

단일 컴퓨터에서 실행 중인 애플리케이션은 곧 단일 장애 지점(Single Point Of Failure)을 나타낸다. 이는 해당 컴퓨터에 장애가 발생할 경우 애플리케이션 역시 사용할 수 없게 된다는 의미이다.
분산 애플리케이션은 종종 [모놀리식 애플리케이션](/ko/monolithic-apps/)과 대조되는데,
모놀리식 애플리케이션은 다양한 컴포넌트들의 규모를 독립적으로 조절할 수 없기 때문에, 유연하게 규모를 조절(scale)하는 것이 매우 어려운 일이다.
seokho-son marked this conversation as resolved.
Show resolved Hide resolved
또한 애플리케이션의 규모가 커질수록 개발자들의 생산성이 저해되는데,
더 많은 개발자들이 확실한 경계가 정해지지 않은 상태의 공유 코드베이스에서 작업을 해야 하기 때문이다.

## 문제 해결 방식

애플리케이션을 분산화하여 여러 컴퓨터에서 실행하면, 몇몇 컴퓨터에서 장애가 발생하더라도 여전히 애플리케이션을 사용할 수 있다.
bconfiden2 marked this conversation as resolved.
Show resolved Hide resolved
또한 규모를 유연하게 조절할 수 있는 특성인 [수평적 확장](/horizontal-scaling/)이 가능하다는 장점을 갖는다.
이는 단일 애플리케이션으로 실행시킬 때는 불가능하다.
하지만 사용자는 더 이상 하나의 애플리케이션이 아닌 수많은 애플리케이션 컴포넌트들을 실행해야 하기 때문에,
운영하는 측면에서의 부담이 증가한다.