Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: W czym napisać serwis?
Forum PHP.pl > Inne > Hydepark
parzol
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! Lkingsmiley.png
markonix
Każdy dobry framework, który się chwali wydajnością.
markuz
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ć smile.gif
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.
ohm
Jeśli to ma być prosty serwis, to może jakiś microframework?
com
ohm no to Symfony 2.8 biggrin.gif

i +1 dla markuz smile.gif
mrc
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ć.
BigPig
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 wink.gif
parzol
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?
mrc
Symfony ma fajny cache, dużo w niego wsadzają.
ohm
Cytat(parzol @ 2.02.2016, 08:51:50 ) *
Symfony spoko, ale wydaje się bardzo ciężkie.

Możesz użyć symfony jako microframework, możesz użyć też silexa, albo same wybrane bundle z symfony wink.gif

parzol
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?
buliq
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
parzol
DUŻO => 500-1000 osób jednocześnie
mrc
@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.
com
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 biggrin.gif

parzol A fb używa do tego server push, skoro już do niego nawiązujesz wink.gif
ZenekN
cakePHP dziecinnie prosty smile.gif
Diablos
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.


Dejmien_85
Cytat(parzol @ 1.02.2016, 22:01:11 ) *
Z założenia serwis ma generować jak największy ruch, którego przyrostu nie jesteśmy jednak pewni.


Czyli standard - każdy zastanawia się nad tym, jak ogarnie MILIONY ludzi, którzy odwiedzą jego serwis. Myśli nad tym tygodniami, tworzy serwis myśląc o optymalizacji, uruchamia serwis i później patrzy... i jedyne co widzi to wiejący na pustyni wiatr i przesypujący piasek z jednej wydmy na drugą.

Ja Ci powiem jak wyglądał mój pierwszy serwis. Został stworzony, ruch wynosił równe 0 - nikt o nim nie wiedział. Później zacząłem myśleć co zrobić, aby ludzie się o nim dowiedzieli i zechcieli zostać na chwilę. Zacząłem ściągać ruch (z Facebooka, Googli), zacząłem pozycjonowanie w Google, na jednym słowie kluczowym był na pierwszej stronie Google, chwilowo na drugim miejscu - ale to dlatego, że słowo kluczowe nie było zbyt popularne.

Wnioski - najwięcej unikatowych odwiedzin dziennie to 50-80, przy czym dniami i nocami siedziałem nad Facebookiem (Fanpage) i pisałem artykuły, aby go wypozycjonować. Po czasie serwis uznałem za niewypał i skróciłem jego życie (to było jakieś 4 lata temu), skupiając się na czymś innym. Później stworzyłem inny serwis, tym razem do "warsztatu marketingowego" dodałem spamowanie "wykopu" i YouTube - na YT wrzuciłem jakieś materiały, niektóre jedno nagranie było na 2-3 miejscu w wyszukiwarce na wybranym przeze mnie słowie kluczowym. Wynik - gorzej niż w poprzednim serwisie. biggrin.gif

Kolejny serwis był już serwisem typowo informacyjnym, stworzyłem go dla swojego klienta (czyli zrobiłem, oddałem i zapomniałem - to nie moja sprawa), oczywiście też myślałem o optymalizacji. Klient podobnież miał go reklamować itd. Dzisiaj mija już kilka lat od jego założenia, klient coś tam kombinował z reklamą, ale... po kilku latach na serwisie wieją głównie wiatry. Co prawda coś się tam zaczęło rozkręcać, ale liczba zarejestrowanych użytkowników nie przekroczyła 200. A facet go ciągle prowadzi i inwestuje w pisanie artykułów itd.

I po tych wszystkich przygodach przypominały mi się teksty starych, poczciwych programistów, którzy w kółko powtarzają, że o optymalizacji myśli się na samym końcu, bo wcześniej nie warto, ponieważ można tego problemu NIGDY nie spotkać (większosć serwisów to niewypały, niestety).

Jeśli nie masz pojęcia o marketingu, albo ludzi od tego, bądź kasy na reklamę, wtedy o 500-1000 użytkownikach siedzących w jednej chwili na serwisie możesz jedynie pomarzyć.

Prawda boli, samemu przez to przechodziłem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.