타운광장토픽게시판

01.PNG

02.PNG

 

 

약 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

에서 확인이 가능합니다.

 

 

 

  • ?

    지금 깃허브에서 다운받으면 테스트 버전 정도이려나요?

  • ? ?
    라이믹스에다가 모듈을 설치하는것 자체는 어렵지는 않은데
    rabbitmq 설정이랑 nodejs서버 실행하는 방법과 modules/noti/server/config.js파일을 서버 환경에 맞게 수정을 하는 부분이 생각보다 어려울 수 있어요.

    rabbitmq, nodejs 서버가 모두 작동해야 모듈이 비로소 작동하기 때문에 모듈/rabbitmq/node서버를 설정하는 방법에 대해선 배포하면서 적어놓을 생각이에요.

    지금 설치에 성공하더라도 모듈 구조가 바뀔 수 있어, 이후 배포할 때 호환이 되지 않을 수 있는 문제 때문에
    지금 설치를 권장하기는 어려울 것 같아요.
  • profile
    와... 웹호스팅 등에서 사용이 어렵다는 부분에 아쉽긴 하지만응원합니다~^^
  • profile ?
    감사합니다!
  • profile
    설정방법 가이드가 있다면 한번 적용해보고싶습니다!
  • profile ?
    어느 정도 보완한 뒤 가이드를 올리도록 하겠습니다.
  • ? profile
    넵 감사합니다!