2012-08-13 10 views
5

Używam SilkJS do kilku moich ulubionych projektów. Jak dotąd, wydajność jest niesamowita, i bardzo mi się podoba, że ​​mogę używać JavaScriptu zarówno na front-end jak i back-end. Zastanawiam się nad wykorzystywaniem go w niektórych projektach komercyjnych, ale chcę dołożyć należytej staranności w sprawie rentowności takiej decyzji. Mam kilka pytań, które chciałbym poznać.Dostępność oprogramowania SilkJS/serwer JavaScript do użytku korporacyjnego

1) Jakie projekty korporacyjne, jeśli w ogóle, znają użytkownicy SilkJS?

2) Jakie zasoby są dostępne odnośnie do bezpieczeństwa korzystania z SilkJS jako serwera WWW lub innych rozwiązań opartych na V8? (historia luk w zabezpieczeniach, średni czas łatania itd.).

3) Z jakimi pułapkami musieliście się zmierzyć używając SilkJS lub innych rozwiązań opartych na V8 jako serwera sieciowego i jak, jeśli to możliwe, poradziliście sobie z tym?

4) Czy SilkJS dobrze radzi sobie z poziomym skalowaniem (rozkładając obciążenie na wiele serwerów)? Czy twoja odpowiedź opiera się na teoretycznych obliczeniach i sprawdzonych przykładach?

5) Jakie zasoby znasz na temat budowy strony internetowej przy użyciu SilkJS jako serwera WWW, oprócz samej oficjalnej strony?

Przed wysłaniem odpowiedzi, pozwól mi najpierw wyeliminować 80% odpowiedzi będę się z następującymi ograniczeniami:

1) Nie, nie będę używać NodeJS. Zarówno ze względów biznesowych, jak i psychicznych, asynchroniczne wywoływanie szaleńczego programowania nie jest czymś, co wykorzystam. Nie próbuj mnie przekonać, że "przyzwyczaję się do tego i pokocham". Nie jest to optymalne dla rodzaju projektów, nad którymi pracuję. Tak, słyszałeś mnie - asynchroniczny nie jest idealny na wszystko.

2) Wiem, że programowanie synchroniczne można symulować w NodeJS. Nie, nie jestem tym zainteresowany. Nie używam NodeJS - przejrzyj to.

3) Jestem w pełni świadomy, że większość aplikacji jest związana i nie jest związana z procesorem. W rezultacie tak, używanie PHP jest zazwyczaj w porządku. Istnieją jednak pewne projekty, w przypadku których należne optymalizacje cpu dają znaczny zwrot z inwestycji. Nie, firma nie musi być Facebookiem, aby to było prawdą. Nie ma to być dyskusja na temat "dlaczego PHP jest w porządku". Jest to eksploracja niezawodności SilkJS dla bardziej komercyjnych projektów.

3) Tak, wiem, czym jest Java. Nie, nie jestem zainteresowany tym, dlaczego byłoby to świetne, gdybym chciał zmniejszyć wąskie gardło procesora. Po raz kolejny nie jest to dyskusja na temat "dlaczego inne języki są w porządku". Jest to poszukiwanie niezawodności rozwiązań serwerowych opartych na SilkJS i V8 dla większej liczby projektów dla przedsiębiorstw.

4) Tak, możliwe jest uzyskanie najlepszej odpowiedzi na to pytanie. Ktokolwiek robi najlepszy przypadek za lub przeciw użyciu SilkJS do użytku w środowisku przedsiębiorstwa dostaje prawidłową odpowiedź na głosowanie.

Ponadto zdaję sobie sprawę, że pomimo mojego pragnienia uniknięcia NodeJS, używa V8. W tym względzie jestem otwarty na przeglądy bezpieczeństwa i przeglądy stabilności dla V8 po stronie serwera w kontekście użytkowania przez NodeJS.

Jeśli chodzi o to, co mam na myśli przez "przedsiębiorstwo", pomyśl o witrynach e-commerce z setkami tysięcy odsłon na miesiąc i/lub aplikacjami, dla których stabilność i czas pracy są niezbędne i mają setki tysięcy użytkowników.

Moim celem nie jest bicie SilkJS.Uwielbiam to i będę go używać, jeśli to będzie możliwe. Jednak jako profesjonalny programista nie mogę po prostu wykorzystać tego, co lubię przy każdym projekcie. Tak więc niech wgląd rozpocznie się ...

Odpowiedz

1

SilkJS powinien skalować dokładnie tak, jak Apache + PHP. Load Balancer przed farmą serwerów SilkJS. Skaluj backend MySQL, tak jak już wiesz.

SilkJS nie wykonuje GZIP ani SSL. Myślę, że byłoby ryzykowne zaufanie do implementacji jednego lub obu z nich na wolności, przeciwko wszystkim różnym botom (hakerom lub innym), pająkom, przeglądarce, niestandardowym programom perlowym itp. Możesz w trywialny sposób zaimplementować Apache jako odwrotną proxy przed SilkJS, aby zapewnić te funkcje.

W rzeczywistości można odrzucić aplikację po stronie serwera i użyć apache jako odwrotnego proxy, aby połączyć się z odpowiednim fragmentem na podstawie żądanego adresu URL.

Myślę, że jeśli wyślesz jakiekolwiek zabezpieczenia lub inne problemy do grupy google SilkJS, zobaczysz łatkę wysłaną do repozytorium github w odpowiednim czasie.

Poza witryną SilkJS.net możesz szukać różnych repo na githubie, które mają przykładowe programy używające SilkJS.

http://www.sencha.com/blog/discover-music-with-sencha-touch-2

To artykule omówiono Modus Tworzenie zbudowany wniosek o NPR korzystając Sencha akcent przedniej i SilkJS jako back-end. Napisano:

"Serwery SilkJS są hostowane w chmurze EC2 Amazon, za modułem równoważenia obciążenia zarówno pod względem prędkości, jak i nadmiarowości. Oba hosty SilkJS są zasilane przez API NPR za pośrednictwem cURL i odpowiadają za przycinanie ponad 300 KB z pakiet danych, przynosząc średnie obciążenie do mniej niż 200KB, zanim zgarnie się gzip do transmisji! "

+0

Dziękuję bardzo – user396404

Powiązane problemy