Моя книга «создание больших сайтов и приложений» в основном основана на опыте работы с Sony. Когда я пять лет назад начал работать на SonyRewards (в народе SR), то это было действительно интересно.
Тогда сайт выглядел как на картинке и на нем пользователи получали поинты не только за транзакции на кредитных картах, но и за просто различные действия на сайте. Зарегистрировался на сайте – 10 поинтов, ответил на вопрос в голосовании – 10 поинтов, участвовал в ежедневной викторине – 10 поинтов. Сложность в том, что на сайте существует достаточно сложная система расчета, когда поинты устаревают и для большинства они должны устареть 1-го апреля. В этот день мы должны были списывать миллиарды поинтов и в 2011-м году этот процесс занял неделю. В 2012-м году я этот код переписал и теперь нужно только две минуты.
В 2010-м году я вообще был единственным программистом на проекте и большую часть 2011-го года. В одиночку поддерживать такой сайт было вызовом и я работал без выходных и отпусков. Тогда это было еще и сложнее, помимо карт и e-commerce это был еще и игровой портал, где посетители могли еще и играть в игры и пазлы и зарабатывать за это поинты, которые опять же можно было превращать в товары Sony тут же на сайте. Но потом Jeopardy отсоединились, а Wheeloffortune превратился с отдельный сайт, но об этом чуть-чуть ниже.
После редизайна Sonyrewards.com в 2013-м году и нескольких серьезных проектов для этого сайта я отошел от него и в течении года иногда только поддерживал сайт. В это время я работал над productregistration.sony.com и самым интересным был www.wheeloffortune.com (в народе просто Wof). Второй из сайтов – это американское колесо Якубовича, которое до сих пор популярно в США. На этом сайте два главных вызова – Puzzle и Sweepstake. Принцип один и тот же. Пазл находиться здесь (http://www.wheeloffortune.com/puzzle).
После каждого эфира передачи зрители могут идти на сайт и отвечать на вопрос. За каждый верный ответ раньше давалось 10 поинтов, которые можно использовать на сайте Sonyrewards. Так как ответ вполне известен и его публикуют везде, то просто огромное количество сразу после эфира идет на сайт. Это были огромные всплески траффика. Причем не тупого – покажи страницу, а достаточно сложного. Пользователь должен войти на сайт или зарегистрироваться, ответить на вопрос, получить поинты в базу данных и мы должны пересчитать баланс пользователя. Теперь представьте, что миллион пользователей делает это раза три в неделю. Сколько они сгенерируют за год?
Сейчас Wof отказались от поинтов и я не знаю, на сколько сейчас популярно отвечать на пазл. Зато они стали проводить розыгрыши. Зайди на сайт, введи свои данные и сможешь выиграть что-то крутое. Опять же, после эфиров по телевизору сервера показывают такие чудеса производительности, это приятно наблюдать. В то же время любой не оптимизированный запрос к базе данных или любая ошибка способна уложить сервер окончательно. Работать над такими проектами и оптимизировать их одно удовольствие.
После Wof я вернулся назад к sonyrewards и сделал им очередной рефейс. Вот такая моя история работы с Sony и нагрузками, которая подошла к концу. Я больше не работаю на Sony.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Михаил, почему-то ты не ответил мне... Но повторю вопрос, в книге про большие сайты, ты писал что у тебя есть программа, которая генерирует классы на основе таблиц из Базы Данных. Дай наметку как написать такую программу, что ты используешь? StringBuilder или Template T4 или еще что-то???
Не помню накого вопроса. У меня на работе есть такая программа и написана она не мной, поэтому выкладывать не маю права. Да, эта программа генератор использует мой класс, который написал я в свое свободное от работы время (поэтому его некоторые части и выложены в книге), но чужой код выкладывать не могу.
Как она работает? Кажется банальный StringBuilder. Это просто быстрее, чем шаблоны, хотя шаблон был бы удобнее с точки зрения поддержки. Я бы сделал шаблон, потому что генерировать классы приходится не так часто и можно лишние миллисекунды подождать ради удобства.
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.