Обработка данных на серверной стороне - основной принцип

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)

Обработка данных на серверной стороне - основной принцип

Сообщение Kurutah » 09 май 2012, 13:50

Часто встречаются споры между сторонниками делать обработку данных на серверной стороне (основной аргумент - безопасность) и сторонниками максимально загружать клиента (аргумент - не перегружать сервер).

Я раньше серверную сторону использовал только как посредника и замучался возиться со взломщиками. Хочу доучиться, и сразу возник вопрос об основном принципе. Правильно ли я понимаю, что почти в каждом запросе нужно делать сначала SELECT а затем UPDATE или INSERT в зависимости от задачи? То есть раньше я обращался к пхп скриптам уже с чёткой целью, и обычно в каждом скрипте был 1 запрос к MySql. Но если планировать делать всё на сервере, получается - сначала SELECT затем второй запрос с операцией.

2 вопроса:

1. Правильно ли я понял основной принцип. Если нет - то прошу сформулировать просто для дурака, что значит обрабатывать данные на серверной стороне :)
2. Если я понял правильно, сильный ли рост нагрузки на сервер выйдет из-за того что количество запросов к БД вырастет примерно в два раза?

Спасибо.
Kurutah

 
Автор темы
Сообщения: 42
Зарегистрирован: 09 ноя 2011, 12:40
Благодарил (а): 17 раз.
Поблагодарили: 2 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Обработка данных на серверной стороне - основной принцип

Сообщение Alazaur » 09 май 2012, 15:20

1. Да вы все правильно поняли. Если нужно что-то купить, делаете запрос, проверяя есть ли у пользователя достаточно денег, если есть покупаем, если нет то ругаемся)))
2. Если у вас запросы к серверу идут по действиям пользователя, то есть каждый пользователь не долбит постоянно сервер по 5 раз в секунду, то 3 - 4 запроса в БД это не нагрузка для сервера. В пример поставлю популярные CMS такие как Drupal или Joomla там по 50 запросов на каждую загрузку страницы)))

За это сообщение автора Alazaur поблагодарил:
Kurutah
Alazaur
Разработчик
Разработчик
 
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25
Благодарил (а): 24 раз.
Поблагодарили: 121 раз.

Re: Обработка данных на серверной стороне - основной принцип

Сообщение alexei » 09 май 2012, 17:13

1) Можно использовать WHERE:
  1. UPDATE health=maxhealth, cash=cash-500 WHERE cash>=500 AND vkid=1

И узнаем, сколько строк обработано. Это более оптимизировано.

2) Будет нагрузка. Но что поделать. Главное безопасность.
http://appslessons.com/ — Мой блог посвященный урокам приложений ВКонтакте

За это сообщение автора alexei поблагодарил:
Kurutah
Аватара пользователя
alexei
Разработчик
Разработчик
 
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44
Откуда: Rostov-on-Don
Благодарил (а): 5 раз.
Поблагодарили: 54 раз.

Re: Обработка данных на серверной стороне - основной принцип

Сообщение Александр » 10 май 2012, 21:00

На клиенте следует выполнять операции, которые не требуют их скрытия от пользователя.
Например, если надо получить только количество символов в тексте, то можно посчитать их на клиенте и передать одну цифру, а не передавать весь текст и делать подсчет на сервере.

Нагрузка на сервере будет сильно заметна при большом количестве пользователей. Чтобы снизить её в этом случае, можно использовать кэширование. Всё конечно же не закэшировать.
Например, не вытаскивать каждый раз таблицу рекордов из базы, а хранить кэш, который обновлять раз в несколько секунд/минут.

За это сообщение автора Александр поблагодарил:
Kurutah
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.


Вернуться в Создание Flash-приложений ВКонтакте



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0