Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rady przy organizacji pracy przy sporym projekcie
Renamon
post 2.08.2014, 17:54:17
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 25.04.2010

Ostrzeżenie: (0%)
-----


Witam,

potrzebuję rad, uwag, wszelkich informacji na co muszę zwrócić uwagę przy budowaniu sporego projektu.
Podstawy posiadamy, za nami parę prostych stron również jednak przyszedł czas kiedy być może rzucimy się na coś co musi uciągnąć sporą ilośc userów online, danych, itp.

Założenia:

- Parędziesiąt tysięcy userów zarejestrowanych
- Paręset userów online
- Tysiące danych w bazie


Czy istnieją w internecie/książkach jakieś poradniki jak zabrać się do projektu który może się okazać (nie odrazu oczywiście) musi utrzymać setki ludzi online ?

Do tego wystarczy MySQL ? czy już myśleć o jakimś innym zamienniku ? (Dane będą po 3-4 miesiącach rozgrywki zerowane, poza zarejestrowanymi userami, więc to nie będzie wiecznie rozwijająca się baza).

Jak zorganizować sobie podział wszystkiego aby serwis podołał wyzwaniu ?

Projekt byłby grą, w grze dość często potrzebujemy przeliczeń wszelkich zmian, jak proponujecie to rozwiązać ? cron co np. minutę?

Poszukuję osoby która wyjaśni na co zwrócić uwagę, lub podrzuci jakieś informacje gdzie mogę poczytać na ten temat, takiej która pomoże "przeskoczyć" z prostych zadań szkolnych czy tutorialowych do poważniejszych projektów tak aby nie zrobić zasobożernego potwora który powali najnowsze serwery.

Ten post edytował Renamon 2.08.2014, 17:57:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Dejmien_85
post 19.08.2014, 16:53:34
Post #2





Grupa: Zarejestrowani
Postów: 251
Pomógł: 23
Dołączył: 23.04.2013

Ostrzeżenie: (0%)
-----


Niepotrzebnie skupiasz tak bardzo uwagę na bazie danych. Ona jest od tego, aby zapisywać do niej dane. Możesz spokojnie pchać tam miliony rekordów. Gdy pojawi się problem z wydajnością, wtedy jest keszowanie i aplikacje typu sphinx (indeksuje całą bazę i rekordy wyciągasz migiem).

To na czym się powinieneś skupić, to zaprojektowanie apki. I przy tworzeniu projektu zapomnij o bazie danych. To błąd. Jeśli ktoś podczas tworzenia klas aplikacji zaczyna myśleć o bazie danych i zastanawiać się nad tabelami, wtedy nieświadomie nakłada na siebie ograniczenia. Nie myśl kryteriami bazy danych i tabel. Zapomnij o bazie, skup się na kodzie, klasach, zmiennych, danych (ale samych danych, a nie bazie danych).
Myśl o aplikacji samej w sobie, klasach i danych jakie będzie potrzebować. Gdy zaprojektujesz aplikację, wtedy dopiero pomyślisz o bazie danych, tabelach itd - ale to dopiero PO zaprojektowaniu klas itd.

A co do Twojej apki - polecam Ci wziąć się za literaturę dotyczącą projektowania aplikacji, np. Object Oriented Design i Object Oriented Analysis. Widzę, że mniej więcej wiecie czego chcecie, jednak nie macie tak naprawdę pojęcia jak to ma działać. Z tego powodu polecam temat OOD&A. Po odrobieniu pracy domowej powinniście wiedzieć od czego zaczać (przygotowanie jasnej specyfikacji i dokładnych opisów jak apka ma funkcjonować).

Zaczynanie od pisania kodu bez jasnych wytycznych sprawi, że będziecie później tego żałować.

No i oczywiście zalecam lektury dotyczące gier online. ; )

I przemyślcie na poważnie, czy nie lepiej wejść w inny język. I tak będziecie musieli postawić tą grę na serwerze VPS/Dedyku, także można użyć wydajniejszych rozwiązań (nie chcę was tutaj straszyć C++, ale np. D, Go, albo nawet i Java będą się sprawować o wiele wydajniej niż PHP - i wszystkie te języki mają automatyczne zarządzanie pamięcią, więc sobie w stopę nie strzelicie tak łatwo).
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2024 - 08:28