본문 바로가기

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

[MicroService] Micro Service Application Architecture(아키텍쳐 문제, 레이어드 아키텍쳐, 헥사고날 아키텍쳐, 클린 아키텍쳐 ) 1장 ◆ Micro Service Application Architecture → 로버트 C. 마틴(Robert C. Martin)은 클린 아키텍처에서 소프트웨어의 가치는 행위 가치와 구조 가치로 나뉘고 소프트웨어를 정말로 부드럽게(Soft) 만드는 것은 구조 가치라고 언급한 바 있는데 여기서 행위 가치는 소프트웨어의 기능을 말하며 구조 가치는 소프트웨어 아키텍처를 의미하는데 그는 토끼와 거북이의 경주를 예로 들며 가장 빨리 가는 방법은 제대로 가는 것이며 코드와 설계의 구조를 깔끔하게 만들려는 생각을 하지 않고 기능 구현만 목적으로 삼으면 소프트웨어가 엉망이 된 상황에 대처하는데 더 많은 비용이 든다는 점을 강조 → 단기간의 프로젝트 동안 애플리케이션 구조나 설계에 신경 쓰지 않고 오직 기능 구현 에만 몰두.. 2023. 4. 22.
[MicroService] MSA의 이해(애플리케이션 패턴, CQRS 패턴, API 조합과 CQRS, 이벤트 소싱 패턴 ) 5장 앞어서 4장에 애플리케이션 패턴을 보지 못하였다면 4장을 읽고 오도록 하자 https://joylucky7.tistory.com/53 [MicroService] MSA의 이해(Micro Service 운영과 관리를 위한 플랫폼 패턴, 애플리케이션 패턴) 4장 ◆ MSA 구성 요소 및 MSA 패턴 ▶ Micro Service 운영과 관리를 위한 플랫폼 패턴 ● MSA 기술 변화 흐름 ⊙ 앞에서 언급한 패턴들은 모두 모노리스 시스템이 여러 조각의 Micro Service로 나눠져서 발생하 joylucky7.tistory.com ◆ MSA 구성 요소 및 MSA 패턴 ▶ 애플리케이션 패턴 ● 데이터 일관성에 대한 생각의 전환: 결과적 일관성 ⊙ 모든 애플리케이션에는 비즈니스 처리를 위한 규칙이 있고 이러한 비즈.. 2023. 4. 21.
[MicroService] MSA의 이해(Micro Service 운영과 관리를 위한 플랫폼 패턴, 애플리케이션 패턴) 4장 ◆ MSA 구성 요소 및 MSA 패턴 ▶ Micro Service 운영과 관리를 위한 플랫폼 패턴 ● MSA 기술 변화 흐름 ⊙ 앞에서 언급한 패턴들은 모두 모노리스 시스템이 여러 조각의 Micro Service로 나눠져서 발생하는 문제들을 해결하는데 추적, 모니터링, 로깅, 인증, 탐색, 유연성, 탄력성 등이 여기에 해당 ⊙ 이러한 문제를 해결하기 위해 초기 MSA 생태계에서는 넷플릭스 OSS나 스프링 클라우드를 이용해 각각의 서비스를 별도로 만들어서 해결하거나 유연성처럼 수 평 확장이 필요한 요소는 AWS laaS 서비스를 이용해 해결했는데 문제마다 상이한 기술로 해결할 수 밖에 없었음 ⊙ 이후 여러 문제의 해결책을 한꺼번에 제공하는 솔루션들이 등장했는데, 바로 쿠버네티스 나 오픈시프트(OpenShi.. 2023. 4. 20.
[MicroService] MSA의 이해(BFF패턴, 인증/인가 패턴, 외부구성 저장소 패턴, 집계 패턴, 모니터링/추적패턴) 3장 ◆ MSA 구성 요소 및 MSA 패턴 ▶ Micro Service 운영과 관리를 위한 플랫폼 패턴 ● BFF 패턴 ⊙ 최근에는 PC뿐만 아니라 다양한 모바일 장비를 사용하기 때문에 다양한 클라이언트를 고려해야 함 ⊙ 이처럼 다양한 클라이언트를 위해서는 특화된 처리를 위한 API 조합이나 처리가 필요한데 이를 위한 해결 방법으로 BFF(Backend for Frontend) 패턴이 있음 ⊙ BFF 패턴은 API 게이트웨이와 같은 진입점을 하나로 두지 않고 Front End의 유형에 따라 각각 두는 패턴 ⊙ Front End를 위한 Back End라는 의미로 BFF(Backend For Frontend)라고 부름 ⊙ 웹을 위한 API 게이트웨이, 모바일을 위한 API 게이트웨이 등 클라이언트 종류에 따라 최.. 2023. 4. 20.