이 기사에서는 WeChat 애플릿의 동시 요청 제한 10개에 대한 최적화 소식을 전해 드립니다! ! ! 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
차가운 소식일 수도 있어서 제목이 더 설레네요.
미니 프로그램 동시성 제한은 처음 출시 당시 5개 동시 요청에서 이후 10개 동시 요청으로 오랫동안 유지되어 왔습니다. 이로 인해 많은 개발자가 프로젝트에 "요청 대기열" 바퀴를 만들게 되었습니다. 그러나 실제로 이 제한은 1년 반 전에 위챗에 의해 공식적으로 해제되었습니다.
10개 요청의 동시성 제한
동시성 제한과 관련하여 WeChat 개발자 문서에서는 다음과 같이 말합니다.
#🎜 🎜## 🎜🎜#이 제한은 동시에 동시 wx.request, wx.uploadFile 및 wx.downloadFile의 총 수가 10을 초과할 수 없음을 의미합니다.
지금까지도 많은 개발자가 이 규칙을 준수하고 있습니다.
많은 사람들이 사업을 할 때 요청 횟수를 주의 깊게 관리합니다. 요청 수를 제어하기 위해 일부 병렬 요청을 직렬로 특별히 변경하거나 미니 프로그램 요청을 유지하기 위해 요청 큐를 도입합니다.
이 시니어 개발자들이 이 규칙을 준수하기 위해 기울인 노력은 금액이 초과된 후 잔인하게 버림을 요청했던 초기 몇 년간의 무력함을 어느 정도 반영했습니다.
Mini Program Basic Library 버전 1.3.0 콘솔에 첨부된 오류입니다:
# 🎜🎜# 지금도 미니 프로그램의 동시성 한계를 해결하는 방법을 논의하는 개발자들이 있습니다
무시된 메시지
사실, 2017년 위챗은 2018년 7월 기본 라이브러리 1.4.0 버전 업그레이드에서 최적화가 이뤄져 동시성 제한을 초과하는 요청이 큐에 대기했지만 이 소식을 모르는 개발자가 많았다.
엄밀히 말하면 이 최적화는 원래 동시성 제한을 완전히 해제하지 않습니다. 현재 동시에 처리할 수 있는 최대 요청 수는 10개이지만, 10개를 초과하는 요청은 대기열에 추가됩니다. 이전 요청이 완료되면 대기열에 있는 요청이 순서대로 전송되어 처리됩니다. * 바로 10개를 초과하지는 않습니다. 요청이 삭제되기 전에. 첨부 애플릿 기본 라이브러리 1.4.0 업데이트 로그(일부):현재 , 마침내 요청 동시성 제한을 무시하고 요청을 보낼 수 있습니다. 결국 모든 요청을 보낼 수는 있지만 동시성 제한 없음
보다 효율성이 느려집니다.요청을 보내는 올바른 자세
위에서 언급했듯이 WeChat 애플릿은 기본 라이브러리 버전 1.4에서 과도한 동시성에 대한 지원을 추가했습니다. 0 제한된 요청은 대기열 처리에 최적화되어 있습니다. 1.4.0 이하 버전에서는 동시 부분을 초과하는 요청이 삭제됩니다.
WeChat 공식 데이터에 따르면 2018년 12월 기준으로 1.4.0 버전 이하의 사용자 비율은 약 0.04%였습니다. 현재 작은 프로그램이 이렇게 낮은 버전과 호환되는 경우는 거의 없지만 여전히 적합합니다. 일부의 경우특별한 요구 사항이 있는 작은 프로그램
기본 라이브러리의 차이점에도 주의해야 합니다.주목해야 할 또 다른 점은 미니 프로그램에 대한 동시 요청의 대기열 메커니즘입니다. 동시에 10개 이상의 요청이 호출되면 애플릿은 먼저 10개의 동시 요청을 시작하고 10개를 초과하는 부분은 호출 순서대로 대기열에 추가됩니다. 이전 요청이 완료되면 대기열의 다음 요청이 대기됩니다. 전송됩니다.
첨부된 것은 20개 요청 동시 테스트입니다:테스트 결과: #🎜🎜 #
사진에서 볼 수 있듯이 처음 10개의 요청은 동시에 전송되고, 이후 요청의 시작점은 끝점에 해당합니다. 나가는 요청의 대기열 동작을 반영할 수 있는 이전 요청입니다.즉, 동시 요청이 많은 경우 요청의 중요도와 요청에 대한 응답 시간이 느린 경우 대기열 전략을 세우고 호출 순서를 조정해야 합니다. , 많은 대기 시간과 사용자 경험에 영향을 주지 않도록 시간 초과 처리를 수행하는 것을 고려할 수 있습니다.
위 내용은 WeChat 애플릿의 10개 요청 동시성 제한에 대한 최적화 소식! ! !의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!