기본 콘텐츠로 건너뛰기

라벨이 microservice인 게시물 표시

microservice 기반 meteor application 설계 /w DDP

특정 업무가 장애가 일어나도 전체가 다운되지 않는 서비스를 Meteor 로 만들 수 있지 않을까 라는 생각을 하고 있었는데 실제로 한번 해보았다. 로긴 서버와 N개의 업무서버가 하나의 DB를 바라보고 클라이언트에서 로긴 서버에 계정생성/접속 후 토큰을 꺼내와서 나머지 서버에 접속하는 그림을 그려보았다. 업무 서버의 경우 웹앱에서 접근 문제가 있기 때문에 CORS를 열어준다. Meteor.startup ->   WebApp.rawConnectHandlers.use (req, res, next)->     res.setHeader "Access-Control-Allow-Origin", "*"     next() iOS/Android 앱의 경우는 사실 상관이 없지만 webApp인 경우엔 꼭 필요. 반대로 webApp 인 경우는 client 폴더에만 작업하면 되는데 가장 먼저 실행하는 파일(ex. client/lib) 에 DDP와 Collection 연결하는 부분을 만들어 준다. # global namespace @ddps =   loginDDP : DDP.connect "http://localhost:4100"   chatDDP : DDP.connect "http://localhost:4200" # models @Chats = new Mongo.Collection 'chats', ddps.chatDDP 그리고 Meteor App 이 시작하는 시점에 아래와 같이 구성한다. Meteor.startup ->   Meteor.connetion = ddps.loginDDP   Tracker.autorun ->     if Meteor.user()?       unless Meteor.loggingIn()         con...