![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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). |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2024 - 08:28 |