본문 바로가기
반응형

전체 글202

마이크로 서비스 아키텍처 (Micro Service Architecture) 1. 마이크로 서비스 아키텍처 (Micro Service Architecture)란? 마이크로 서비스 아키텍처는 대용량 웹 서비스가 많아짐에 따라 정의된 아키텍처인데, SOA (Service Oriented Architecture)에 근간을 두고 대용량 웹 서비스 개발에 맞는 구조로 사상이 경량화되고 대규모 개발팀의 조직 구조에 맞도록 변형된 아키텍처이다. 2. 마이크로 서비스 아키텍처의 구조 아래의 그림처럼 각 컴포넌트는 서비스라는 형태로 구현되고 API를 이용하여 타 서비스와 통신을 한다. 배포 구조 관점에서도 각 서비스는 독립된 서버로 타 컴포넌트와의 의존성 없이 독립적으로 배포된다. 아래 그림처럼 앞 단에 로드 밸런서를 배치하여 서비스 간의 로드를 분산시킨다. 데이터의 저장 관점에서도 중앙 집중화.. 2017. 8. 28.
모노리틱 아키텍처 (Monolithic Architecture) 1. 모노리틱 아키텍처 (Monolithic Architecture)란? 모노리틱 아키텍처 스타일은 기존의 전통적인 웹 시스템 개발 스타일로, 하나의 애플리케이션 내에 모든 로직이 들어가 있는 '통짜 구조'이다. 위 그림을 보면 톰캣 서버에서 도는 WAR파일 내에 사용자 관리, 상품 관리, 주문 관리 등 모든 컴포넌트가 들어 있고 이를 처리하는 UX 로직까지 하나로 포장되서 들어가 있는 구조이다. 이 처럼 전체 애플리케이션을 하나로 처리하기 때문에 개발 도구에서 하나의 애플리케이션만 개발하면 되고 배포 역시 간편하며 테스트도 하나의 애플리케이션만 수행하면 되므로 편리하다. 2. 문제점 대형 시스템 개발 시 문제점이 발생한다. - 크기가 커서 빌드 및 배포 시간, 서버의 기동 시간이 오래걸린다. - 프로그.. 2017. 8. 28.
SOA (Service Oriented Architecture) 1. SOA (Service Oriented Architecture)란? 기존 애플리케이션들의 기능을 비즈니스적인 의미가 있는 기능 단위로 묶고 표준화된 호출 인터페이스를 통해 서비스라는 소프트웨어 컴포넌트 단위로 재조합한 후, 이 서비스들을 서로 조합하여 업무 기능을 구현한 애플리케이션을 만들어내는 소프트웨어 아키텍처. 2. SOA에서의 서비스 플랫폼에 종속되지 않는 표준 인터페이스를 통해서 기업의 업무를 표현한 '느슨하게 연결되고(Loosly coupled) 상호 조합 가능한 소프트웨어'이다. 서비스 인터페이스 서비스 인터페이스는 서비스 내의 하나의 업무 기능을 이야기한다. 예를 들어 주문 서비스라는 서비스가 있을 때, 이 서비스는 '상품 주문'과 '주문 내용 조회'라는 인터페이스를 가진다. 서비스의.. 2017. 8. 28.
아키텍트의 종류 아키텍트의 종류 엔터프라이즈 아키텍트 (EA) 솔루션 아키텍트 (SA) 테크니컬 아키텍트 (TA) 애플리케이션 아키텍트 (AA) 데이터 아키텍트 (DA) 글로벌 아키텍트 (GA) 1. 엔터프라이즈 아키텍트 (EA) 비즈니스 아키텍처를 포함한 전체 아키텍처 설계에 대한 책임을 진다. 비즈니스 이해를 바탕으로 전체 아키텍처에 대한 큰 설계를 담당하며, 장기적인 IT 전략 수립을 담당한다. EA 경우 단일 프로젝트 뿐만 아니라 해당 회사의 비즈니스 전략에 맞춰 앞으로 있을 모든 프로젝트에 대한 아키텍처에 대한 책임을 진다. 또한, SA, AA, TA, DA에 대한 통제 권한을 가지고 아키텍트 팀을 운용한다. 2. 솔루션 아키텍트 (SA) 특정 솔루션에 대한 아키텍처를 설계한다. SA의 경우 프로젝트 내에 개발.. 2017. 8. 25.
아키텍처란? 소프트웨어 아키텍처의 설계 1. 아키텍처란? 아키텍처는 비즈니스 요구 사항을 만족하는 시스템을 구축하기 위해서 전체 시스템에 대한 구조를 정의한 문서로, 시스템을 구성하는 컴포넌트와 그 컴포넌트 간의 관계, 그리고 컴포넌트가 다루는 정보를 정의한다. 2. 아키텍처 설계 프로세스 먼저 비즈니스 요구 사항을 기반으로 비즈니스 아키텍처를 정의한다. ** 비즈니스 아키텍처 : 구현하고자 하는 소프트웨어의 기능, 시장 상황, 로드맵 등 기술보다는 비즈니스 관점에서의 소프트웨어를 정의한 모델. 비즈니스 아키텍처가 정의되었으면 다음으로는 설계 원칙을 정의하고, 이 비즈니스 아키텍처와 설계원칙을 기반으로 기술적인 시스템 아키텍처를 구현한다. 시스템 아키텍처는 관점에 따라 소프트웨어 코드로 구성되는 애플리케이션 아키텍처.. 2017. 8. 25.
[Node.js] Node.js + Express.js로 시작하기 Node.js + Express.js로 시작하기 Express.js로 시작함에 앞서 Express.js는 generator를 이용해 빠르고 신속하게 폴더 구조와 설치를 마칠 수 있습니다. 원하는 프로젝트 상위 폴더에서 해당 명령어를 입력합니다. npm install express-generator -g 명령어를 입력 후 아래 명령어로 프로젝트 폴더를 생성합니다. express --view=pug ${your_project_name} ** view 템플릿 엔진으로 ejs를 쓰고 싶으면 ejs를 pug를 쓰고 싶으면 pug로 합니다 입력하신 프로젝트 이름으로 폴더가 생성이 되고 폴더 생성 후 해당 폴더로 간 후 npm install 명령어를 실행하여 package.json 파일에 있는 모듈들을 설치하면 기본.. 2017. 8. 22.
[Node.js] node.js 설치하기 (window os) Node.js 설치하기 (window 환경) window에서 node.js를 설치하는 방법은 간단합니다. https://nodejs.org/ko/ 위 링크를 클릭하면 node.js 홈페이지로 이동합니다. 홈페이지 메인에 보시면 LTS(Stable 버전)와 Current(최신 버전) 중 하나를 다운 받으실 수 있습니다. Node.js의 짝수 버전 (ex. 6.x.x) 은 안정적인 버전으로 API변경이 없는 버전이므로 짝수 버전을 다운받아 쓰길 권장하고 있습니다. ** 최근 보안이슈가 있었습니다. 보안 이슈에 해당되는 버전을 쓰시는 분들은 상위 버전을 다운받아 쓰시길 바랍니다. 2017. 8. 14.
반응형