| Сервер в фермах и пр.23 сен 2011 13:59 | |
Здравствуйте, коллеги!
Если вы делали социальные или браузерные или iOS фермо-подобные слегка-ммо игры ("если", наверное, лишнее), можете рассказать-намекнуть, какие серверные технологии использовали, какие БД, где, как и почём хостились, на каком языке сервер писали.
Какая стоимость обслуживания в пересчёте на пользователя (или тысячу штук пользователей, не важно) примерно?
Можете своих тайн не раскрывать, а рассказать "теоретически", как это бывает.
Если уже было про это на дтф, буду рад линку. Спасибо.
|
Отправлено 23.09.2011 в 18:09
|
 |
По пунктам: 1) БД - без разницы, напрямую работать с ней не требуется в большинстве случаев. Если у вас не супер ММО - а так, сотня-другая одновременных коннектов - то можно и напрямую работать с БД, как правило потянет любое железо. Лучше всего тут себя ведут версионники, хотя ребята из CCP со мной могут не согласиться. Для HQ:Horizons мы используем Firebird SQL, почти вся игровая логика написана на PSQL (в хранимых процедурах). 4-хядерный ксеон спокойно обслуживает 200-300 коннектов к БД. Если вам надо больше - то Memcache/Redis вас спасёт, если будет промежуточным звеном между сервером и БД.
2) Язык программирования - не важно, все современные либо имеют JIT, либо компилируются в бинарники. Пишите на том, который лучше знаете.
3) Хоститься там, где у вашей ЦА короче путь - мы (и наши клиенты) предпочитаем немецких хостеров - Leaseweb (бывший Netdirekt) и Hetzner - очень хорошие конфигурации и шустрый канал, если оплатили гигабит - будет гигабит, проверено. Цены смотрите на их сайте. Но учитывайте, что в большинстве своём, дешёвые конфигурации - это SOHO, а не честные сервера-сервера, поэтому не забывайте о бэкапах.
4) Стоимость на тысячу игроков целиком зависит от вашей задачи. У нас, к примеру, для горизонтов 3-4к игроков обходится в ~100 евро/мес, а для лягушек - тот же сервер за те же деньги спокойно вытянет 50-100к игроков.
5) Разумеется, ВСЮ игру не должен обслуживать ОДИН сервер. Продумывайте сразу масштабируемую архитектуру.
P.S. Никита, ни в коей мере не хочу вас обидеть, но если вы задаётесь такими вопросами - то вам наверняка надо начать с чего-нибудь поменьше, чем ММО.
|
Отправлено 23.09.2011 в 19:12
|
 |
Sergey Mereutsa пишет: > > По пунктам:
Спасибо!
> P.S. > Никита, ни в коей мере не хочу вас обидеть, но если вы > задаётесь такими вопросами - то вам наверняка надо > начать с чего-нибудь поменьше, чем ММО.
Не обижаюсь, это был очевидно нубский вопрос. И нет, с ММО мы начинать не собирались.
|
Отправлено 23.09.2011 в 19:23
|
 |
Сергей спасибо за полезное инфо.
|
Отправлено 24.09.2011 в 13:25
|
 |
|
Отправлено 25.09.2011 в 11:18
|
 |
Очень интересно.
Если позволите несколько вопросов:
CCP - Это Crowd Control Productions ? А кто такие версионники?
Почему БД считается в коннектах, а не в запросах/сек?
Что такое горизонты?
|
Отправлено 26.09.2011 в 00:50
|
 |
> CCP - Это Crowd Control Productions ?
Да. Ева использует MSSQL, который является блокировочником.
> А кто такие версионники? SQL сервера бывают 2-х основных типов - версионники и блокировочники. Вот тут можете почитать про то, как версионность реализована в Interbase/Firebird - http://www.ibase.ru/devinfo/mga.htm - но, поскольку Старки как бы основоположник всей этой кухни - у Постгри, например, версионность не сильно отличается. Про блокировочники - читать обзоры архитектур Оракла и MSSQL, ссылками не поделюсь, но Гугл знает всё.
> > Почему БД считается в коннектах, а не в запросах/сек?
Потому, что некоторые правильные БД позволяют в рамках одного коннекта наплодить сотню транзакций и делать в них грязные дела. И в рамках одного коннекта можно сделать сотню-другую запросов. Можно считать и в запросах/сек - но запрос запросу рознь и это ничего не меряет. А в реальных задачах select * from table ой как редко используется :)
> > Что такое горизонты? http://www.dqhorizons.com/ - веб-стратегия, 98% всей логики там на SQL, остальные 2% - на C++, так как космический бой слишком много всего вытворяет с памятью и нам так проще. Делали просто в качестве proof of tech, а оно возьми и заработай. :)
|
Отправлено 26.09.2011 в 07:23
|
 |
Проект tankionline.com. Язык программирования - Java, но как сказано выше не важно какой язык, важно уметь на нем программировать. В качестве базы данных используем PostgreSQL и Redis. При этом Redis используется не как кеш для PostgreSQL, а как отдельная база данных. Сервера агрессивно кешируют данные в памяти, так что нагрузка на БД не очень большая. Еще пара "умных" слов: osgi, hibernate, jgroups.
|
Отправлено 26.09.2011 в 16:44
|
 |
Алексей, а можете что-то рассказать про то, где и как хоститесь? Свои сервера, ко-локейшен, в клауде и т.п. И по устройству - разделены ли машины для баз данных/логики, есть ли отдельные машины для репликации баз данных.
|
Отправлено 26.09.2011 в 15:49
|
 |
Сергей, Алексей, а вот слабо вам вместе или даже порознь взять, да и написать толковые статьи по сабжу для DTF? Я понимаю, что накидать кучу терминов, непонятных начинающим, -- это офигенно круто, но вариантов решений могут быть тысячи. Поэтому внятные статьи профессионалов со схемами решений, объяснениями, почему так, а не иначе, диаграммами нагрузок и примечания, как с ними справляться, были бы очень кстати. И все прочее, относящееся к.
А то задолбали уже бесполезные интервью, где лишь раздувают щеки, и прочий трэшЪ, прочно обосновавшийся в левой колонке.
Давайте, не стесняйтесь. А то читаешь, что Redis используется как отдельная база данных, и крышу срывает, типа "на фига, раз и так используется PostgreSQL???".
|
Отправлено 26.09.2011 в 16:38
|
 |
Перед лицом своих товарищей торжественно клянусь... ой, чего это я? Да, есть в черновиках. Не думал, что кому-то это будет интересно, так как по мне - так всё банально и больше надо маркетингом и рекламой заниматься, нежели программированием :) Осталось узнать, кому присылать на DTF.
|
Отправлено 26.09.2011 в 21:32
|
 |
программирование интереснее, чем какой-то там маркетинг =)
|
Отправлено 27.09.2011 в 04:24
|
 |
Sergey Mereutsa пишет: > Перед лицом своих товарищей торжественно клянусь... ой, > чего это я? Да, есть в черновиках. Не думал, что > кому-то это будет интересно, так как по мне - так всё > банально и больше надо маркетингом и рекламой > заниматься, нежели программированием :)
Банально для тех, кто в теме (хотя тоже бывает офигевание из серии "пацаны, а вы в своем уме?" :)). Для многих -- совсем даже не банально :) Обращаться надо к Петру Шестакову, инфа в целом вот тут: http://dtf.ru/help/help.php?topic=publ
Если есть черновики и желание -- это просто замечательно. Я даже с аккуратно оформленными картинками могу помочь, если надо :) Пиши в личку, если что.
|
- Подписчики [675]
- Белый список [19]
- Черный список [3]
Вы можете читать группу, но не можете отвечать на сообщения и создавать новые темы.
Доступ для остальных:
анонимы |
: могут читать |
новые |
: могут читать |
постоянные |
: полный доступ |
|