Skip to content

[U.O.S] U.O.S Notification 구현 방법에 대한 토론 #84

@ByteAurora

Description

@ByteAurora

U.O.S Notifiation

목적

  • 현재 U.O.S에서는 매장과 고객간의 연결을 위해 소켓 통신과 FCM(Firebase Cloid Messaging)을 사용하고 있습니다. 최근 FCM대신 MQTT(Messaging Queue Telemetry Transport)를 이용해서 Notification을 구현하자는 이야기가 있었습니다. 때문에 각 방법의 장단점에 대해서 이야기하고 현재 방식(FCM)으로 진행할지, 아니면 새로운 방식(MQTT)으로 진행할지에 대해서 결정하고자 합니다.

기존 구현 방식

  • 현재 Pos로부터 Mobile App까지 Notification이 오는 과정은 다음과 같습니다.

    상품 주문 접수 완료 -> Mobile에서 Service로 FCM Notification 수신 대기 -> 상품준비 완료 시 Pos에서 FCM Notification 전송


FCM(Firebase Cloud Messaging)

장점

  • Google이 지원하고 있어 Android Notification 통신에 대한 부분에서 안정성이 있으며 트래픽에 상관없이 무료로 사용 가능.

  • Notification 서버를 직접 구축할 필요 없이 FCM에 연결하면 바로 사용할 수 있기 때문에 개발 속도와 편이성이 좋음.


단점

  • Notification 서버로 FCM을 사용하기 때문에 데이터가 FCM을 통할 수 밖에 없으므로 데이터에 대한 보안성(여기서 보안성이란 타 기업에게 정보가 노출되는 것을 말함)이 강조될 경우 자체 Notificatoin 서버를 구축하는 것이 유리함.

MQTT(Messaging Queue Telemetry Transport)를 이용한 자체 Notification 서버 구축

장점

  • Notification을 서버에서 직접 구현함으로써 데이터가 FCM과 같이 외부 서버를 거치지 않아 보안성을 높일 수 있고 FCM에서 제공하지 않는 기능을 직접 만들어서 추가 가능함.

단점

  • 자체 Notification 서버 구축에 많은 시간이 필요하고 여러 예외에 대한 처리도 직접 구현해주어야 함.

  • Mobile과 Notification 서버 간에 이루어지는 통신 안정성이 FCM을 활용하는 것보다 떨어질 수 있음.




아래 링크에서 Firebase와 MQTT에 대한 개발자들의 의견을 확인할 수 있습니다


*각 구현 방법에 대한 의견을 Comment에 작성해주시기 바랍니다.

*각 기능에 대한 추가적인 정보 및 장단점이 있을 경우 본 이슈를 업데이트 해주시기 바랍니다.

Metadata

Metadata

Labels

제안기능, 디자인, 성능 등 모든 부분에 대한 제안사항

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions