Micro Service Architecture

    [MSA] Micro Service Pattern(API Gateway, Service discovery, Service Mesh)

    [MSA] Micro Service Pattern(API Gateway, Service discovery, Service Mesh)

    Micro Service Pattern - API Gateway service1,2,3가 전부 사용되는 데이터가 필요해지면 각각의 서비스를 호출해야해서 총 6번의 호출과 반환이 이루어지는데 각각의 결과 값을 기다려야한다. 여기서의 문제점은 service1,2,3 각각의 주소를 알아야하는 단점이 있다. 위의 상황은 Application과 service사이에 API gatway를 두어서, 요청을 동시에 service1,2,3에 보낸 후, 데이터를 취합하여 다시 클라이언트로 보낸다. API Gateway를 두어서 하나의 api point만 알아도 되는 이점이 있다. - 마이크로 소프트 공식문저 중 - API Gateway 이점 - 클라이언트와 서비스가 분리된다. 모든 클라이언트를 업데이트 하지 않고도 서비스 ..

    [MSA] MSA(Micro Service Architecture) 정의

    [MSA] MSA(Micro Service Architecture) 정의

    MSA의 정의를 알기 위해서는 그와 반대되는 모노리스 시스템에 대해서 이해해야한다. 모노리스(Monoliths) - 프로젝트에 모든 코드가 모여있어, 시스템 구조가 간결하고 빠르게 구축할 수 있다, - 애플리케이션이 한 덩어리로 구성하며 단일 프로세스로 실행해야한다. - 한꺼번에 수정, 배포되어야한다. 하나가 실패하면 모두 실패됨을 의미한다. 문제점: 작은 부분을 수정해도 전체 부분에 대해서 영향을 줄 수 있다. 모노리스를 클라우드 인프라에서 활용시에 스케일 아웃의 대상은 모노리스 전체가 된다. 그것만으로 충분히 확장성, 탄력성이 보장가능하나 비용효율적이지 않다. 그에 비해 마이크로 서비스는 애플리케이션이 여러개의 서비스 조각으로 구성된다. Micro Service Architecture 정의 Micro..

    [MSA] MSA(Micro Service Architecture) 탄생배경 사용이유

    [MSA] MSA(Micro Service Architecture) 탄생배경 사용이유

    왜 MSA인가? MSA의 탄생과 배경에는 아키텍쳐의 히스토리를 살펴볼 필요가 있다. *아키텍쳐는 시스템의 구조이다. 과거에는 시스템의 구조보다는 알고리즘, 데이터 구조에 집중적이었다. 소프트웨어의 복잡도와 활용도가 올라감에 따라 구조에 대한 중요도가 올라가게 되었다. 즉, 과거에는 클래스나 모듈 내부에 관심이 있었다. 왜냐하면 컴퓨터의 자원이 현 시대와는 다르게 성능 확장 및 시스템에 대한 접근성이 좋지 않았다. 하지만 현재는 어디에서나 네트워크의 발전과 클라우드 컴퓨팅을 통해 시스템에 접근이 가능하다. 위의 표를 보면, 소프트웨어 아키텍쳐는 1990년대에 크게 관심을 갖기 시작했다. 그러면 왜 소프트웨어 아키텍쳐가 관심을 가지게 된건지 알아볼 필요가 있다. 시간이 지남에 따라 소프트웨어는 현대 시대에 ..