Witam!
Zakładamy budowę serwisu internetowego z treścią zawierającą duże ilości grafik, tekstów i klipów YouTube (dajmy na to za przykład joemonster.org). Z założenia serwis ma generować jak największy ruch, którego przyrostu nie jesteśmy jednak pewni. Serwis ma być możliwie lekki od strony frontendu, ale wyposażony w różne mechanizmy AJAX'owe (np. dodawanie komentarzy).
Pytanie do dyskusji: w czym (jak) to wykonać (napisać) aby zachować możliwie największa jakość i wydajność? Czysty PHP? Framework? Jeżeli tak to jaki i dlaczego on?
Jestem ciekaw waszych opinii w tym temacie i liczę na konstruktywną wymianę myśli!
Każdy dobry framework, który się chwali wydajnością.
Zdecydowanie framework, najlepiej taki którego używałeś do tej pory - jeżeli nie używałeś żadnego, wybierz sobie 1 i zacznij w nim pisać
Nie pytaj jaki i dlaczego bo tego w sieci jest pełno, a tak naprawde to nie ma wielkiego znaczenia.
Wybierz sobie taki który ma duże community, dużo wtyczek, dobrą dokumentacje i który Ci się spodoba.
Jeśli to ma być prosty serwis, to może jakiś microframework?
ohm no to Symfony 2.8
i +1 dla markuz
A ja doradziłbym Symfony 3.1. Trochę trzeba się przestawić z pisania (klepania) wszystkiego w kontrolerze (jak to zwykło się w niektórych frameworkach), ale za to można poznać zupełnie inne podejście do aplikacji - bardziej warstwowe. Sam piszę teraz w tym frameworku, super sprawa. W czystym PHP nie opłaca się już dzisiaj pisać.
Czysty PHP odpada. Symfony jest fajne, dosyć trudne, ale znajdziesz masę fajnych materiałów do niego. Jedyny minus to to, że z wydajnością jest już trochę gorzej. Przy dużym ruchu przydałby się jakiś sensowny cache. Najwydajniejszy byłby chyba Phalcon, ale odnośnie łatwości pisania w nim już się nie wypowiem
Symfony spoko, ale wydaje się bardzo ciężkie. Cache swoją drogą, ale pytanie jaki więc framework wybrać. Wiem, że ile ludzi tyle opinii. Zastanawiam się nad Kohana 2 lub K3. Co Wy na to?
Symfony ma fajny cache, dużo w niego wsadzają.
Dobra. Dzięki wszystkim za rady. Teraz druga odsłona pytania. Serwis posiadać ma możliwość zostawiania pod zdjęciami komentarzy. Zakładamy, że userów jest dużo. Wszystko w czasie rzeczywistym (coś jak FB). Wydajne rozwiązanie do takiego mechanizmu to...? AJAX zapcha się dość szybko. WebSocket?
ajax + loadbalancer/kolejka? ws może ci się tak samo szybko zapchać, zobacz czy twoja konfiguracja apache2/nginx jest zoptymalizowana pod duże ilości requestów.
Zdefiniuj dużo
DUŻO => 500-1000 osób jednocześnie
@parzol
Zainstaluj na serwerze RabbitMQ albo inny system kolejkowy i puść żądania przez niego. Oprócz tego jeżeli chcesz puszczać kilka żądań z jednej przeglądarki per minutę, to moim zdaniem lepsze są websockety. Ajax za każdym razem musi nawiązać połączenie, zrobić handshake, a websockety to robią jeden raz. Później wymieniają tylko dane/ramki. Ajax moim zdaniem jest łatwiejszy do obsłużenia i utrzymania w przypadku pojedynczych żądań. Sam zastanów się, co będzie lepsze w Twojej sytuacji.
Phalcon ma wydajne core, ale to nie czyni od razu apki wydajną.
mrc owszem 3.1 ale od 2.8 mamy możliwość zrobić w Symfony z core microfw, stąd nawiązanie do 2.8
parzol A fb używa do tego server push, skoro już do niego nawiązujesz
cakePHP dziecinnie prosty
Dzisiejsze serwisy interntowe to juz nie tylko PHP... to cale machinerie... wykorzystujace mase narzedzi.
W czym napisac serwis?
Zawsze rozbrajaja mnie takie pytania. Przeciez patrzac kategoriami wydajnosci to nie ma najmniejszego znaczenia, i tak bez cache to bedzie za wolne, niezaleznie czy bedzie to Zend, Symfony, Kohana czy PHP bez frameworka. Przeciez przy takich projektach i tak najwiekszym problemem jest baza danych... Tak samo obrazki... wieksza role odgrywa storage i cdn niz framework backendu.
Framework vs czysty PHP?
Przeciez framework to tez czysty php... to co daje framework to, jak sama nazwa wskazuje pewne ramy pracy usystematyzowane w taki sposob ze ulatwiaja prace przy duzym projekcie kilku programistom na raz. Czesto frameworki dostarczaja juz gotowe biblioteki do roznych rzeczy, ale w dobie composera i masy bibliotek zewnetrznych do prawie wszystkiego nie ma to zadnego znaczenia.
Powinienes taki framework wybrac zeby Ci sie wygodnie tworzylo.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)