Pracuję na stronie internetowej, która wyświetla niektóre dane z DB, które często się zmieniają (Stan kolejki i rozmowa na czacie). Moja obecna konfiguracja to Apache/PHP/MySQL. Naturalnie chciałbym uniknąć odpytywania serwera co x sekund, ponieważ nie jest to skalowalne. Chciałbym zrobić odwrotny sondowanie ajax długich, jednak czytałem, że Apache nie działa dobrze z tym, ponieważ szybko zabrakło wątków roboczych. Istnieje wiele innych serwerów internetowych, które rozwiązują ten problem: nginx, tornado, itp. Jednak moim problemem jest to, że PHP jest JEDYNYM językiem skryptowym po stronie serwera, jaki znam. Również napisałem już kilka skryptów PHP, więc chciałbym je zachować, jeśli mogę. Jestem w porządku z przełączaniem serwera, o ile mogę nadal używać PHP.Czy php jest skalowalny z długim sondowaniem wstecznym ajax?
Ale po przeprowadzeniu dalszych badań, przeczytałem, że ludzie mówią, że PHP (FPM?) Również tworzy proces dla każdego złożonego zapytania, co oznacza, że jeśli mam setki/tysiące otwartych połączeń, będą setki/tysiące procesów, które również będą problemem.
Czy mogę dojść do wniosku, że nie ma dobrych, skalowalnych sposobów tworzenia długich stron z pollingu za pomocą PHP? Czy powinienem zrezygnować z PHP i nauczyć się języka skryptowego innego serwera? Mogę kontynuować rozwijanie długiego sondowania przy użyciu mojej obecnej konfiguracji (Apache/PHP), ale nie chcę, aby wybór języka skryptowego stwarzał jakiekolwiek ograniczenia dotyczące skalowalności mojego systemu podczas wdrażania. Więc co powinienem zrobić? Nie mam zbyt dużego doświadczenia z programowaniem w Internecie, więc jeśli któryś z guru może dać mi jakieś wskazówki, byłbym wdzięczny! Dziękuję Ci!
Nie zrobić tego sam, ale przy użyciu gniazd js może być opcja? być może również za pomocą node.js. Natywne wsparcie dla websockets w przeglądarkach jest poprawne, ale zgaduję, że wtyczka jquery to obsługuje? –
Nie biorę pod uwagę websocket, ponieważ nie jest on obsługiwany we wszystkich najważniejszych przeglądarkach. W rzeczywistości zajrzałem do pliku node.js, ale z tego, co słyszałem, wynika, że jest on wciąż stosunkowo nowy, więc obsługa ram jest bardziej ograniczona. Obecnie rozważam Django, co oznacza, że muszę odebrać pythona. Słyszałem dobre rzeczy o strukturze, ale wolałbym pozostać przy php, jeśli jest sposób na obejście wydajności. – pinghsien422
Zdecydowanie zrewiduję plik node.js - proste żądanie ajax do portu serwera, na którym działa node.js, może być po prostu lewą. –