본문 바로가기

소프트웨어 이야기/아키텍처

(카오스 엔지니어링)카오스 몽키 카오스 몽키가 생긴 배경 => 넷플릭스에서 IDC에서 AWS으로 이관하면서 탄생했음. 2016년도에 릴리즈되었음카오스 몽키는 golang으로 만들어져있다. go가 설치되어있으면, go get으로 카오스몽키를 다운받을 수 있다. 카오스 몽키를 설치하려면 Spinnaker가 기본으로 설치되어있어야한다. 이게 있어야 몽키가 죽일 클러스터를 만들 수 있다. Spinnaker는 로드 밸런서, 서버 그룹 등등을 테스트 서버에 만들어준다. 카오스 몽키를 띄우려면 데이터베이스도 설치해야한다. 카오스 몽키를 사용하려면 설정 파일이 필요하다. 여기에는 카오스 몽키, 데이터베이스, 스피네이커 설정 정보가 들어간다. Kubernetes Helm은 쿠버네티스 차트를 관리하는 역할을 한다.
(Strangler Pattern) 레거시 코드를 마이크로 서비스 아키텍처로 개선하기 Strangler Pattern모놀리틱 아키텍처로 된 시스템이 계속 자라나면, 더이상 관리할 수 없는 수준이 된다.그리고 아키텍처가 복잡해지거나, 비즈니스 로직이 파편화되면 코드를 관리하기 어려워진다. 그러다보면 배포하기도 까다로워지고, 배포가 무서워지기도 한다. 이럴 땐 버티거나, 서비스 아키텍처로 코드를 리팩토링해야한다. 서비스 아키텍처로 서비스를 한번에 옮기는 것은 리스크가 있다. 시스템은 정상적으로 돌아가면서, 점진적으로 서비스 아키텍처로 코드를 분리해나가는 디자인 패턴이 Strangler Pattern이다. 개선 방법1. 분리해내야하는 도메인을 Service Layer으로 리팩토링을 해야한다. 2. 그리고 분리해낸 도메인의 API가 호출되면, Proxy 단에서 라우팅을 분기처리해준다. 3. 신규..