본문 바로가기

IT 초보코딩의 세계/취미 코딩16

[MicroService] MSA의 이해(컨테이너 오케스트레이션, API 게이트웨이 패턴, 서비스 디스커버리 패턴, 플랫폼패턴) 2장 ◆ MSA 구성 요소 및 MSA 패턴 ▶ 인프라 구성 요소 ● 컨테이너 오케스트레이션 ⊙ 컨테이너 기술을 선택했다면 컨테이너를 관리하기 위한 기술 또한 필요 ⊙ 컨테이너가 많아지면 그에 따라 컨테이너의 자동 배치 및 복제, 장애 복구, 확장 및 축소, 컨테이너 간 통신, 로드 밸런싱 등의 컨테이너 관리를 위한 기능이 필요한데 이러한 기술을 컨테이너 오케스트레이션(Container Orchestration)이라 함 ⊙ 컨테이너 오케스트레이션 도구로는 도커 스윔(Docker Swarm), 아파치 메소스(Apache Mesos) 등이 있으며 최근에는 구글이 자사의 도커 컨테이너 관리 노하우를 CNCF 재단에 제공해서 공개한 쿠버네티스(Kubernetes8가 큰 인기를 끌고 있는데 쿠버네티스를 이용하면 손쉽게 .. 2023. 4. 18.
[MicroService] MSA의 이해(리액티브 선언, MSA 구성요소, MSA 패턴) 1장 ◆ 리액티브 선언: 현대 애플리케이션이 갖춰야 할 바람직한 속성들 ▶ 리액티브 선언의 4가지 요소 ● 응답성(Responsive): 사용자에게 신뢰성 있는 응답을 빠르고 적절하게 제공하는 것을 의미 ● 탄력성(Resilient): 장애가 발생하거나 부분적으로 고장나더라도 시스템 전체가 고장 나지 않고 빠르게 복구하는 능력을 의미 ● 유연성(Elastic): 시스템의 사용량에 변화가 있더라도 균일한 응답성을 제공하는 것을 의미하며 시스템 사용량에 비례해서 자원을 늘리거나 줄이는 능력 ● 메시지 기반(Message Driven): 비동기 메시지 전달을 통해 위치 투명성, 느슨한 결합, 논블로킹 통신을 지향하는 것을 의미 → 4가지 요소는 모두 리액티브 시스템을 만들기 위한 요소이고 각 요소는 상호 보완적 →.. 2023. 4. 18.
[MicroService] 비지니스 민첩성 2장 ◆ Micro Service ▶ 모노리스와 Micro Service ● 모노리스 → 모노리스는 하나의 단위로 개발되는 일체식 애플리케이션 → 보통 3티어라 불리는 사용자 인터페이스와 데이터베이스 그리고 서버 쪽 애플리케이션의 3개 부분으로 구성 → 서버 측 애플리케이션이 일체 즉 논리적인 단일체로서 아무리 작은 변화에도 새로운 버전으로 전체를 빌드해서 배포해야 하고 일체식 애플리케이션은 단일 프로세스에서 실행되기 때문에 확장이 필요할 경우 특정 기능만 확장할 수 없고 반드시 전체 애플리케이션을 동시에 확장해야 하는데 보통 로드 밸런서를 앞에 두고 여러 인스턴스 위에 큰 덩어리를 복제해 수평으로 확장 → 이런 상황에서 변경이 발생하면 모노리스 시스템의 단점이 극대화되는데 여러 개의 모노리스가 수평으로 확장.. 2023. 4. 16.
[MicroService] 비지니스 민첩성 1장 ◆ 성공한 인터넷 기업들과 비지니스 민첩성 ▶ 아마존(Amazon)과 넷플릭스(Netflix), 우버(Uber)를 비롯해 성공한 유니콘 기업들의 공통점 특징은 이미 익숙한 비즈니스에 새로운 비즈니스 개념과 기술을 융합해 자신만의 특화된 서비스를 제공한다는 것 ▶ 자신만의 특화된 서비스를 제공하려는 시도를 누구보다 빨리 실행했고 사용자 피드백을 반영해 끊임없이 서비스를 개선 ▶ 이러한 기업들의 특출난 장점으로 비즈니스 민첩성(Agility)을 꼽고 이것이 기업 성공의 가장 큰 요인으로 판단 ▶ 지금까지 인터넷의 발전과 모바일 환경의 대중화로 이 같은 비즈니스 민첩성에 대한 중요성은 항상 강조돼 왔고 비즈니스 민첩성을 지원하기 위한 시스템 측면의 많은 투자와 시도가 이뤄져 왔으나 성공 사례가 많지 않았지만 .. 2023. 4. 16.