2장 마이크로서비스 아키텍쳐

Book/Node.js 마이크로 서비스 코딩공작소 2018. 12. 24. 09:52
반응형

Node.js 마이크로 서비스 코딩공작소 

스터디 


저작권 문제시 비공개 



마이크로서비스란

마이크로서비스 아키텍쳐의 단점

마이크로서비스와 Node.js

정리 


마이크로서비스 아키텍쳐란 :  

커다란 모놀리식 아키텍쳐를 단독으로 실행 가능한 다수의 모듈로 분해한 아키텍쳐


      • 독립적 프로세스 형태로 배포 가능 해야 함

      • 개별적으로 개발 할 수 있어야 함 

    • 서로 독립적인 데이터 저장소와 네트워크 통신 기능을 가질수 있어야 함 


특징 정리 

    • 마이크로서비스 하나는 독립적인 프로세스 하나를 의미 

    • 개발과 배포에 상호 독립적

    • 기술 독립성 

    • 독립적인 데이터 저장소를 가질수 있음 

    • 각 마이크로 서비스는 각자 가진 네트워크 기능으로 통신 할수 있음 


모놀로식 아키텍쳐의 대부분 문제점은 하나의 프로세스로 개발 하기 때문이니 관리가 적당한 작은 단위로 기능을 분리 하자!

마이크로서비스 아키텍쳐 단점 

    • 공유자원 접근이 어렵다 

모놀로식 아키텍쳐는 프로세스가 같기 때문에 어렵지 않게 접근 가능 

마이크로서비스에서는 서로 다른 프로세스로 실행 하기 때문에 추가 고민이 필요함 



  • 배포와 실행이 복잡하다

모놀로식 아키텍쳐는 프로세스하나만 실행해도 서비스가 가능하지만 

마이크로 서비스는 복잡한 실행 과정을 거쳐야만 서비스가 가능 (프로세스가 많기 때문)



  • 분산 시스템을 구현하기가 어렵다

마이크로서비스에는 독립적인 프로세스들을 유기적으로 동작 할 수 있게 하는 분산 네트워크 시스템이 필요하다 

중요한 시스템이지만 상황별로 처리해야 하므로 구현하기 어려울수 있다.



마이크로서비스 아키텍쳐에서는 여러 마이크로서비스가 유기적으로 동작 해야 하므로 마이크로서비스 하나의 구조는 작고 가벼워야 한다.

I/O가 필수적 (데이터베이스, 파일) : 메시지-큐 를 이용하여 해결 

I/O를 실제로 처리하는 서버를 별도로 두고 요청을 받는 서버는 큐로 데이터를 전송한후 요청을 처리 하고 I/O가 처리되면 클라이언트에 보내는 방식을 사용한다.


Node.js는 내부적으로 이러한 매커니즘을 모두 처리해주기 때문에 개발자가 별도로 고민하지 않아도 됨.



반응형
: