이 글에서는 주로 200만 사용자에게 인스턴트 푸시를 구현하기 위한 PHP Redis 구현을 자세히 소개합니다. 관심 있는 친구는
200만 사용자에게 인스턴트 푸시를 구현하는 방법을 참조하세요. 푸시, 이 푸시는 타사 인터페이스 호출, 푸시, SMS 등으로 이해될 수 있습니다.
당시에는 먼저 DB를 직접 읽고 결과를 개별적으로 푸시하는 데모를 작성했습니다. . 가능하네요
그래서 redis+php 멀티프로세스 기반으로 솔루션을 설계했는데 잘 작동하지만 확장성이 높아서 공유합니다.
========================================================================== ="=
구체적인 논리는 다음과 같습니다. (내 글꼴 무시)
사실 이것은 최적화될 수 있습니다. 내 생각은 If입니다. 더 많은 사용자 데이터가 있으면 redis에서 데이터를 분할하고 여러 목록을 사용할 수 있습니다. 각 목록은 여러 PHP 프로세스에 해당하므로 속도가 더 빨라집니다.
다음은 제가 구현한 구체적인 코드입니다.
메인 관리 스크립트: 신청할 때 이것을 시작하면 됩니다.
redis 작성이나 구체적인 푸시 스크립트 작성은 각자의 상상에 맡기고 올리지 않겠습니다 ㅎㅎ
내 접근 방식은 특정 푸시 스크립트가 일정 금액을 푸시한 후 자동으로 종료되고 자체 호출된다는 것입니다.
실제 애플리케이션에서는 PHP 스크립트를 오랫동안 실행하면 (컨텍스트 전환 문제로 인해) 멈추는 현상이 발견되었기 때문에 항상 PHP 스크립트를 오랫동안 실행하는 것을 피합니다.
ps: 통합 관리를 위해 정리한 작은 PHP 네이티브 프레임워크에 모든 스크립트를 넣었습니다.