Rozważam budowę witryny za pomocą php, ale jest kilka aspektów, które działałyby o wiele lepiej, gdyby były wykonane w node.js. W tym samym czasie duże części strony muszą pozostać w PHP. Dzieje się tak dlatego, że wiele funkcji jest już opracowanych w PHP, a przebudowa, testowanie itd. Byłoby zbyt dużym przedsięwzięciem, i szczerze mówiąc, te części witryny działają doskonale w PHP.Używanie php + gearman + node.js
Rozważam przebudowanie sekcji w pliku node.js, która skorzystałaby z działania większości w węźle node.js, a następnie przekazanie przez PHP żądania do node.js przy użyciu urządzenia Gearman. W ten sposób skanuję skalę, uruchamiając więcej pracowników i kierując się rozkładem obciążenia.
Nasza strona ma duży ruch i jestem zaniepokojony, czy mechanik poradzi sobie z tym ładunkiem. I wa utrzymać to pytanie wydajne, więc skupmy się w dużej mierze na następujących punktów adresowalnych:
- Czy gearman obsługiwać wszystkie oczekiwane obciążenia zakładając mamy pamięć (potencjalnie wokół 3000+ kolejce pracy w momencie, z kilkoma tysiącami przetwarzanymi na sekundę)?
- Czy to działałoby lepiej, gdybym tylko przekazał żądania do node.js przy użyciu CURL, a jeśli tak, to czy plik node.js zapewnia jakikolwiek sposób dystrybucji obciążenia na wiele wystąpień danego skryptu?
- Czy mechanik może być skonfigurowany w taki sposób, aby nie było pojedynczego punktu awarii?
- Jakie problemy widzisz, zarówno jeśli chodzi o rozwój, jak i skalowanie?
Zwracam uwagę szeroki zakres punktów więc ktoś przegląda ten słupek może zbierać szeroki zakres informacji w jednym miejscu dotyczących spraw, które silnie wpływają na siebie wzajemnie.
Oczywiście przetestuję to wszystko, ale chcę zebrać jak najwięcej informacji przed potencjalnym podjęciem czegoś takiego.
Edytuj: Duży powód, dla którego używam ekwipunku, nie wynika z jego niezablokowanej struktury, ale z powodu jego czystej prędkości.
_Czy stary biegnik poradzi sobie z każdym oczekiwanym obciążeniem? _ To pytanie typu "jak długo jest ciągiem" i zależy od tego, ile masz serwerów pracowniczych, jak szybko zapełniają się kolejki i jak dużo wysiłku, który każdy element wymaga do przetworzenia. Jeśli możesz zrobić kilka tysięcy na sekundę na jednym serwerze, a nie ustawisz ich w kolejce na wyższą stałą stawkę, powinienem pomyśleć, że wszystko będzie dobrze. Gearman może być używany w trybach blokowania i bez blokowania btw, i zdecydowanie warto iść. – halfer