Firebase
파이어베이스(Firebase)는 2011년 파이어베이스(Firebase, Inc)사가 개발하고 2014년 구글 인수된 모바일 및 웹 애플리케이션개발 플랫폼이다.
Firebase Cloud Messaging
Firebase 클라우드 메시징(FCM)은 무료로 메시지를 안정적으로 전송할 수 있는 교차 플랫폼 메시징 솔루션
구글에서는 GCM이라는 독자적인 플랫폼이 존재했었는데, 파이어베이스를 인수한 이후 GCM을 고도하여 FCM에 집중해오고 있다.
GCM은 2019년 5월 서비스 지원을 중단하게 되었다. 때문에 대부분 Push 솔루션을 구현한 회사들에서는 FCM으로 마이그레이션 작업을 준비했을 것이며 나 또한 그러했다.
(서비스 중단에 따라 반드시 변경해야 될 작업은 https://developers.google.com/cloud-messaging에서 확인해 볼 수 있다.)
그래서 어떻게 동작할까?
출처:https://firebase.google.com/docs/cloud-messaging/images/messaging-overview.png
다시 정리하면 FCM은 메시지 전송 플랫폼이다. 위 그림은 FCM이 어떻게 메시지를 클라이언트에게 전송하는지 모든 걸 나타낸다.
flow
(1) Firebase Console GUI 에서 메시지를 전송
(2) 3rd-party-server 혹은 모바일 클라이언트 에서 http 혹은 xmpp 프로토콜을 통해 메시지를 전송
- firebase는 손쉽게 메시지를 전송하도록 library를 제공한다.
(3) firebase 서버에서는 특정 기기로 메시지 전송 요청을 받으면 장치(ios, android, web)으로 알림을 전송
(4) 클라이언트는 메시지 수신
정리
- FCM을 사용함으로써 얻는 장점은 간단하다. cloud 서비스를 이용함으로써 서버리스 아키텍쳐를 구성하고 메모리나 CPU의 오버헤드, 트래픽, 서버 등 관리포인트가 크게 줄어들기 때문에 비용을 크게 감소시킬 수 있다. 특히 FCM은 완전히 무료다. (물론 완전히 관리하지 않아도 된다는 말은 아니다.. 사용자 관리, 토픽 등.. 여러가지 있다.. )
'Cloud & NoSQL & Middleware > Firebase' 카테고리의 다른 글
Google API 대쉬보드에 FCM API 설정하기 (0) | 2020.03.21 |
---|---|
FCM(Firebase Cloud Messaging) (3) - 전송 (0) | 2020.03.21 |
FCM(Firebase Cloud Messaging) (2) - Architecture (0) | 2020.03.21 |