라이믹스 라이브 푸시 알림 개발
Node.js와 라이믹스를 활용하여 "사이트 내부에서" 실시간 푸시 알림을 받아올 수 있습니다
웹소켓을 사용하는데, 새로 고침시마다 연결이 끊기는 특성이 있어, 새로고침시마다 안정적으로 이전 세션을 불러옵니다
푸시 알림은 위에 함수처럼 개인에게 보내는 send(member_srl, data) 혹은 모두에게 보내는 broadcast(data)로 이루어져있으며, 함수 호출시 curl을 통해 내부 node js 서버로 바로 전송됩니다
node.js에서는 요청이 들어온 즉시 응답하여 PHP에서의 딜레이를 최소한으로 줄였으며, 해당 요청은 node js상에 비동기 백그라운드에서 처리되어, 딜레이 없이 바로바로 기기에 발송되게 됩니다
이 기능은 실시간 글/댓글 알림이나, 글/댓글 추가나 수정사항 바로바로 갱신, 라이브 채팅 등에서 유용하게 사용될 수 있어 보입니다
또한 여러 기기를 사용하는 사람을 고려하여, 로그인 된 모든 기기에 동일한 알림이 가게 됩니다
물론 사이트에 접속하고 있지 않으면 알림이 오지 않는다는 단점이 있지만, 해당 기능은 크롬 알림이나 FCM등 대체제가 있기 때문에 차차 고려해보는것으로..
일단 프로토타입은 나온 상태인데, 대규모 커뮤니티에서 많은 요청이 몰릴 경우를 테스트할 수가 없어서 공개까지는 갈길이 머네요 ㅎㅎ;;
+) 2.1 신규 모듈 구조로 개발하였습니다~

리버스
Lv. 7
댓글 18
대규모 커뮤니티에서 많은 요청이 몰릴 경우를 테스트할 수가 없어서
<< 제가 가능합니다! ㅎㅎ
저희 사이트를 드릴? 게요
방금 쪽지 보냈는데 한번 확인해주세요!
안드로이드, ios, 크롬 푸시 알림은 외부 API를 사용하다보니 별도의 디자인이나 원하는 문구를 넣기가 어렵잖아요?
하지만 제가 구현한 사이트 내부의 알림에 경우, 단순 텍스트 데이터를 조합하여 사이트에서 원하는 기능과 디자인으로 알림을 만들 수 있게 되는 것이죠
예를 들자면, 새 글이나 공지사항이 등록되면 사이트 상단에 길쭉하게 알림을 띄운다던지, 댓글을 보고있다가 새로운 댓글이 달리면 새로고침없이 바로 댓글 창 아래에 추가된다던지 등등이 가능하게 되는 것이죠
푸시 알림 자체가 계속 컨넥션을 유지하고 있어야하니까 대역폭을 차지하기는 하지만, 간단한 텍스트 데이터만 오고가는 정도로는 대역폭을 많이 차지하지 않는다는 점도 있고, 소켓 개수와 유지 부분만 개선하면 충분히 쓸만해질 수 있습니다
정확한 테스트 데이터가 없으니, 차차 연구해볼 필요성이 있다고 생각합니다 :D
아하… 그런 점도 있었네요…
커뮤니티 특성에 따라 수십개씩 탭을 열어두고 천천히 보는 사람도 있던데, 고려할 사항이 한두개가 아니군요 ㅜㅜ
한 유저가 만들 수 있는 최대 소켓 개수를 설정하고, 더 추가해서 들어온다면 이전 연결을 끊어버리는.. 방식으로 해결해볼 수 있을거 같네요
다만 신뢰성이 떨어질 수 있다보니, 중요한 데이터는 오고가기가 쉽지 않겠네요 흠..
알림센터는 새로고침해야 새 알림이 뜨지만, 이건 실시간으로 보내줄 수 있는 것 같네요.
일정량이 넘어가면 유료이긴 하지만..ㅎㅎ
비용은 들지만 확장도 쉽게 가능하고 좋네요