푸시서버구축(자체서버), GCM(FCM) 잘아시는분! 부족한 저를 조금만 알려주시겠어요?

조회수 8882회

채팅서버를 웹소켓을 통해 한번 구축해본적이있는데요

이번에는 서버에서 공지하는 식으로 클라이언트들에게 메세지나 푸시알림을 날리고 싶은데요 = 푸시서버구축

gcm, fcm을 이용할 수 있지만 자체 서버를 한번 구상해보려하는데요.

일단 첫쨰로 아직 지식이부족해서 그런데 제 개인적 생각으로는 웹소켓으로 통신을 하면 서버에서 대기하고 있고 클라이언트 요청 시 메세지를 즉각적으로 보내주는데요 뭔가 지속적인 접속이라고 생각을 해요. 예를들어 모바일에서도 백그라운드에서 받을 준비가 되있어야 화면에 뿌려줄 수 있으니까요.

1. 그렇다면 배터리가 굉장히 많이 소모되지않나요? 푸시방식은 어떤 방식을 사용하나요?

ex) Polling & Long Polling ,  Streaming  등 상세하게 부탁드려요

2. 그렇다면 어떤방식(기술)을 사용해서 보편적으로 푸시서버를 구축하나요?(자체서버) 즉, 구글의 GCM, FCM은 어떤방식을 이용해서 푸시를 사용하는지요?

제가 구축하려는 푸시 서비스는 클라이언트는 서버로 요청할 일이 전혀없고 오히려 서버에서 메세지를 보냈을 때 클라이언트의 화면에 뿌려주던 브로드캐스팅같이 알림을 나타내거나 하고싶은데요.

푸시서버에 대해 아시는분들 조언부탁드립니다!

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 페북처럼 친구 신청이 오면 알람이 오는 비슷한 기능을 가진 서비스를 만들어야하는 프로젝트를 예전에 했을 때, 클라이언트에서 친구 신청이 왔는지 주기적으로 서버에 확인 요청하는 폴링으로 구현이 되어있었는데 당시 배터리 소모가 어마어마했습니다. 그래서 구글의 GCM을 사용해서 푸시로 변경했는데 배터리 소모가 확 줄어들더라구요. 알 수 없는 사용자 2017.2.28 12:08

2 답변

  • 자체 push 서버 구축하신다면 mqtt 추천해 드립니다 polling 하는게 아니라 topic에 subscription 건후 publish되면 push됩니다

    모바일 디바이스에 맞게 구현되어 있어 배터리 이슈도 별로 없으며 이미 facebook 에서 사용하고 있습니다

    1. 자체푸시서버를 구축하면 배터리 소모가 심합니다. 이건 성능의 문제가 아니라, 안드로이드에서 gcm 은 기본 연결되는데 자체로 구현을 하게되면 거기에 해당하는 listener service 를 만들어 백그라운드에서 동작시켜야 할 것입니다.
      다른 앱들과의 조화를 생각해서라도 추천하지 않습니다.

    2. http://joochang.tistory.com/71

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)