티스토리 뷰

푸시 서비스로서의 래셔널아울


래셔널아울 서비스는 실시간 메시징 서비스가 메인이지만 기존 푸시 서비스가 제공하지 못하는 정교한 푸시 서비스이기도 하다.


앞서 블로그를 통해 안드로이드 오레오의 등장으로 래셔널아울 서비스가 유실없는 실시간 푸시 메시지의 지원이 불가해짐을 밝힌바 있다. 지인과 이야기를 하다보니 해당 글로 인해 래셔널아울 서비스가 푸시 메시지를 지원하지 않는다고 오해하는 분들이 있음을 인지하였다. 푸시 서비스로서의 래셔널아울 입장에서 유실없는 실시간 푸시 메시지의 미지원은 가장 큰 장점이 사라진 것임에는 틀림이 없으나 래셔널아울 서비스는 메시지 처리 원천 기술을 통해 기존 푸시 서비스가 제공하지 못하는 많은 장점을 가지고 있다.



퍼블릭 푸시(Public Push) 서비스


구글의 GCM(Google Cloud Messaging)과 FCM(Firebase Cloud Messaging) 애플의 APNS(Apple Push Notification Service)로 대표되는 무료 푸시 알림을 일컫는다.


가장 큰 장점은 무료라는 점이다.


현재 성능적인 면인 유실율과 전송속도도 많이 좋아져서 일반 모바일 앱에서 푸시 알림으로 이용하는데 큰 불편함이 없다. 시간이 흐르면서 전송율 뿐 아니라 전송속도도 많이 향상되어 유실, 지연에 대한 이슈도 많이 사라진 상태이다.


그러나 전송률이 얼마나 되는지 전송속도가 얼마나 되는지 어디에도 통계 정보를 제공하지 않고 전송속도도 편차가 심한 편이다. 다만 온라인을 통해 개발자들의 의견을 종합해 보면 FCM의 경우 전송률이 90%는 확실히 넘을 것 같다는 추정을 할 뿐이다.


무료 푸시 서비스의 단점은 다음과 같다.


- 메시지 전송을 보장하지 못한다.

- 메시지 전송 순서를 보장하지 못한다.




기존 유료 푸시 서비스


대부분의 유료 푸시 서비스는 아래 그림과 같이 퍼블릭 푸시 또는 SMS/알림톡에게 메시지를 릴레이하는 방식이다. 이를 도식으로 간략히 표현하면 아래와 같다.




즉, 메시지 처리 서버로 메시지를 전달(릴레이)하는 방식으로 메시지 처리 원천 기술이 없어 메시지 품질이 실제 퍼블릭 푸시 서버와 SMS/알림톡 서버에 의존적이다.


- 1차 로 퍼블릭 푸시(FCM/GCM/APNS)서버로 전달 =>  퍼블릭 푸시 서버에서 단말앱으로 메시지 처리 및 발신

- 2차 미전달 메시지 SMS/알림톡 서버로 전달 => SMS/알림톡 서버에서 메시지 처리 및 발신


해당 방식의 단점은 다음과 같다.


- SMS/알림톡 의존도가 높아 비용이 비싸다.

- 메시지 전달 여부 파악이 어렵다.

- 대량의 메시지 전달시 전달 속도가 느리다.



래셔널아울, 메시지 처리 원천기술로 정교한 푸시 서비스 제공


래셔널아울 서비스는 단말앱이 실행중일 때는 평균 0.1초 미만의 실시간 데이터 전달을 제공하고 단말앱이 미실행시에는 아래 그림과 같이 퍼블릭 푸시 알림을 이용하여 메시지를 전달한다.



앞서 유료 푸시 서비스의 방식과 다른 점이 메시지 전달을 래셔널아울 메시징 서버에서 직접 처리한다는 점이다. 


즉, 푸시 알림을 탭하여 단말앱이 실행되면 래셔널아울 메시징 서버에서 직접 미전달 메시지를 전달한다. 이를 통해 아래의 메시지 품질을 보장할 수 있다.

- 미전달 메시지 전달 보장

- 메시지 순서 보장

- 메시지 전달 현황 실시간 트래킹 및 모니터링 제공

빠른 시간내 대량의 메시지 전달

- 저렴한 비용에 대량의 푸시 메시지 이용 가능




영희폰에 푸시알림이 전달했는지? 수신확인했는지?


 래셔널아울은 푸시알림전달여부/시간과 수신확인여부/시간에 대해 실시간 트래킹API를 제공하여 이를 실시간으로 알수 있을 뿐 아니라 래셔널아울 웹 관리자콘솔에서 실시간으로 모니터링 가능하다. 특히 한번에 10만 이상 단말앱에 동시에 발신시 푸시 알림 미전달 대상 폰에 유료 메시지를 발신해야 할 경우 트래킹API를 통해 실시간으로 알림미전달 대상폰에게만 유료 메시지를 발신할 수 있어 유료 메시지의 비용을 획기적으로 줄일 수 있다.




                                                      [래셔널아울 메시지 전달 현황 실시간 모니터링 화면]




200만명에게 메시지 전달 소요 시간은?


유튜브 '래셔널아울'채널에 업로드했지만 래셔널아울 서비스는 대표적인 메시징 솔루션인 IBM의 웹스피어엠큐와 비교해서 초당 메시지 처리속도가 35배가량 빨리 처리한다. 또한 한대의 메시징 서버가 2%의 CPU 사용으로 213만대의 동접처리가 가능한데 이는 세계 최고 수준이다. 그만큼 많은 메시지를 빠른 시간에 처리할 수 있다는 의미이다.  




유투브 채널에 업로드한 200만 동접 테스트 영상에서 213만 단말앱에 메시지를 모두 전달하는데 1분 10초의 시간이 소요된다. 이는 213만 단말앱이 활성 상태로 동접을 유지한 상태에서 213만 단말앱이 모두 메시지를 수신할 때까지의 시간이다.


단말앱이 비활성 상태일 경우에는 퍼블릭 푸시 알림 메시지를 발신한다. 200만 단말 기준 푸시 알림을 발신하는데  소요되는 시간은 20초 이내의 시간이 소요된다. 물론 푸시 알림을 탭하여 단말앱이 실제 메시지를 수신하는 것은 사용자의 반응과 결정에 달린 문제이다. 래셔널아울 서비스는 이러한 메시지 발신 이후 사용자가 탭하여 메시지를 수신하는 전 과정을 실시간 메시지 트래킹 기술을 통해 관리자 콘솔로 실시간 모니터링을 제공한다. 



즉, 단말앱이 활성이든 비활성이든 대용량의 푸시 메시지에도 최적의 솔루션이다.


댓글