2. 스웜을 이용한 실전 어플리케이션 개발
Last updated
Last updated
1절에서 배운 내용들을 기반으로 스웜을 적용시켜 실전 어플리케이션을 만들어 보겠습니다.
마스터-슬레이브 구조로 구성하는 데이터 베이스로 사용합니다. INSERT, UPDATE, DELETE 쿼리는 마스터 DB에 전달되며 SELECT쿼리는 슬레이브DB로부터 읽어오게 해 역할을 완전히 분리합니다.
TODO 앱에서 각 엔트리에 대한 기본적인 조작을 제공하는 RESTful API 입니다. INSERT, UPDATE, DELETE 쿼리는 마스터 DB에 전달되며 SELECT쿼리는 슬레이브DB에서 수행됩니다.
Web 서비스는 브라우저에 나타낼 웹페이지를 렌더링 하는 역할을 합니다 이는 Node.js를 이용해 구축합니다. 직접 MySQL에 접속하지 않고 API 콜을 통해 사용합니다.
어플리케이션 프론트엔드 서버 및 API 앞단에 리버스 프록시 역할을 합니다. 캐싱, 백엔드에 대한 유연한 라우팅, 접근 로그 생성등의 역할도 겸합니다.
스웜 환경은 3.1절에서 만든 3개의 worker를 사용해 구축할 예정입니다. 다음 명령으로 워커들 및 매니저가 동작중인지 확인합니다.
그 다음으로는 공통 네트워크를 사용하기 위에 overlay 네트워크를 맞춰 주어야 합니다. overlay 네트워크 이름은 todoapp으로 설정하겠습니다.
이미지
용
서비스명
스택명
MySQL
데이터 저장
mysql_master, mysql_slave
MySQL
API
데이터스토어를 다룰 API 서버
app_api
Application
Web
뷰 생성을 담당하는 어플리케이션 서버
frontend_web
Frontend
Nginx
프록시 서버
app_nginx, frontend_nginx
Application Frontend