본문 바로가기

분류 전체보기103

[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.
[Block Chain] Go언어의 RESTful API, Gin Framework, Model&Database Layer 1장 ◆ RESTful API ▶ 웹 서비스에서 자원을 요청 및 제어할 때 적용되는 일련의 규칙 ▶ 자원은 보통 HTML 문서(웹 페이지)나 JSON 문서(단순 정보 조회) ▶ JSON이란 JavaScript Object Notation의 약자로 자바스크립트의 객체를 표현하는 방식으로 API에서 가장 많이 쓰이는 데이터 형식 ▶ 대부분의 RESTful API는 HTTP를 사용 ◆ Gin Framework ▶ Gin 프레임워크는 고성능 RESTful API 개발에 많이 사용되는 Go 기반의 오픈 소스 프레임워크 ▶ https://github.com/gin-gonic/gin ▶ Gin 프레임워크는 성능도 높고 실제 RESTful API를 구현하는 데 사용할 수 있는 간단하고 사용하기 쉬운 API를 제공 ◆ Mod.. 2023. 4. 15.