약 4년전에 만든 웹푸시 모듈을 재정비하고 있습니다.
수 년전에 웹푸시 모듈을 만들었을 당시 있었던 여러 고질점(그간 웹푸시 방식이 수정된 점, 알림이 발송되지 않는 점 등)들을 해결하고 대용량푸시 작업에서도 안정적으로 동작하게끔 많이 뜯어고쳤습니다.
다만, php 하나만으로는 해결하기 어려워서 rabbitmq, nodejs와 같은 추가적인 도구들을 사용했습니다.
웹 호스팅과 같은 환경에서는 사용이 어렵다는 문제가 있긴 하지만, 수 백~ 수 만개의 (모두 다른내용을 가진)푸시 요청을 하더라도 php단에서 타임아웃 없이 무난하게 푸시요청을 보낼 수 있었습니다.
무엇보다도 php에서 푸시서버로 직접 http요청을 보내지 않아서 푸시작업이 많더라도, 마치 외부서버와 통신을 하지 않는듯한 반응속도를 보여줘서 좋더라구요.
아직 완성되지는 않아서 추후 완성 후 배포하도록 하겠습니다.
간단한 테스트는
https://dev43.dnip.co.kr/testboard/
(아이디 / 비밀번호)
test1 / test1!
test2 / test2!
계정으로 테스트해보실 수 있습니다. (두 계정을 각각 다른 브라우저에 로그인을 하여 서로간 댓글, 답글을 작성하시면 됩니다.)
(일부 IE, 사파리와 같은 브라우저에서는 웹 푸시알림을 지원하지 않습니다)
+ 푸시알림 설정 후, 로그아웃하시면 자동으로 푸시알림이 꺼집니다. (로그아웃하지 않고 그냥 창을 닫으시면 푸시가 그대로 유지됩니다)
이번에 새로 리팩토링을 한 관계로 기존의 noti모듈은
https://github.com/huhani/xe-noti/tree/fd8f789b230a6c35fb7721a1ca2aeac116db4fe5
에서 확인이 가능합니다.
지금 깃허브에서 다운받으면 테스트 버전 정도이려나요?