"휙~" 리얼 타임 라라벨 데모 프로젝트

today 2016-07-15 face Posted by appkr turned_in Work & Play forum 0

휙~ 라라벨은 도메인 이벤트를 클라이언트에게 브로드캐스트할 수 있는 기능을 제공한다. 5.2.39 기준으로 pusher, redis, log 등의 브로드캐스팅 드라이버를 지원한다. 이 데모에서는 라라벨이 ‘휙~’하고 메시지를 던지면, Socket.io가 접속된 모든 클라이언트에게 ‘휙~’하고 메시지를 전파한다.

언제 어떻게 쓸 수 있나? 새로운 댓글이 작성되면 같은 댓글 목록을 보고 있는 사용자에게 새 댓글을 알리거나, 지금 서비스에 접속된 모든 사용자에게 푸시 알림을 보내는 등 서버에서 발생한 변경 내용을 클라이언트에 전파할 때 사용할 수 있다.

이 포스트는 데모 프로젝트를 복붙으로 따라해보기 위한 명령 및 코드 목록을 담고 있다. 각 절의 작동 원리는 읽지 말고, 전체 동작을 한번 확인할 것을 권장한다.

  1. 데모 환경 준비_ 오늘 AWS에 인수된 클라우드9을 이용한다.
  2. SocketChat_ Socket.io에서 제공하는 채팅 예제 프로젝트를 구동해 본다.
  3. Redis_ 라라벨과 Socket.io간의 메시지 중계자로 Redis를 이용한다.
  4. Broadcast_ 라라벨의 브로드캐스트 기능을 이용해 본다.

* 웹 페이지의 DOM 조작을 위해 Vue.js1 라이브러리를 이용할 것이다.

이 프로젝트는 라라캐스트의 Real-time Laravel with Socket.io 시리즈를 보고, 필자 나름대로 해석하고 적용한 결과물이다.

도커를 이용한 분산 서비스 아키텍처 맛보기

today 2016-07-11 face Posted by appkr turned_in Work & Play forum 0

같이 운동하는 동호회 형님(IoT 플랫폼 개발사 임원)을 통해서 ‘도커’라는 단어를 처음 접했던 것으로 기억한다(2015년). 당시엔 VM 프로비저닝을 위해 Vagrant를 사용하고 있었고, 도커는 VM/Vagrant보다 좀 더 가벼운 가상 개발 환경이란 느낌으로 다가왔다. 곧 AWS에서 도커를 지원한다는 소식을 접했고, 도커 자체적으로도 Swarm이란 컨테이너 배포 툴 프로젝트를 공개함으로써, 운영 환경에 바로 쓸 수 있는 도구로 재인식됐다. IoT, 마이크로 프레임워크, 마이크로 서비스 등 시대적 흐름과도 잘 부합하는 도구라 생각한다.

이 포스트는 ‘맛보기’다. 아래 목록은 구글링으로 쉽게 찾을 수 있어 이 포스트에서는 다루지 않는다. 도커를 경험해보지 않은 독자가 복붙(copy & paste) 만으로 포스트를 따라해 보고 스스로 도커의 유용성을 경험하도록하는 것이 이 포스트의 목적이다.

도커를 몰라도 된다. 라라벨을 몰라도 된다. 무작정 따라해 보면 된다. 중간에 중간에 각 명령에 대해 간략히만 설명을 추가했다.

  • 도커란 무엇인가? 왜 써야 하는가?
  • Dockerfile 작성법
  • docker-compose.yml 작성법
keyboard_arrow_up