Programming

Сервер в фермах и пр.

23 сен 2011 13:59
+12
(Текст записи скрыт. Показать...)
Здравствуйте, коллеги!

Если вы делали социальные или браузерные или iOS фермо-подобные слегка-ммо игры ("если", наверное, лишнее), можете рассказать-намекнуть, какие серверные технологии использовали, какие БД, где, как и почём хостились, на каком языке сервер писали.
Какая стоимость обслуживания в пересчёте на пользователя (или тысячу штук пользователей, не важно) примерно?
Можете своих тайн не раскрывать, а рассказать "теоретически", как это бывает.
Если уже было про это на дтф, буду рад линку. Спасибо.
Отправлено 23.09.2011 в 18:09
Отвечает на сообщение 374035
+10
По пунктам:
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
Отвечает на сообщение 374036
0
Sergey Mereutsa пишет:
>
> По пунктам:


Спасибо!

> P.S.
> Никита, ни в коей мере не хочу вас обидеть, но если вы
> задаётесь такими вопросами - то вам наверняка надо
> начать с чего-нибудь поменьше, чем ММО.


Не обижаюсь, это был очевидно нубский вопрос.
И нет, с ММО мы начинать не собирались.
Отправлено 23.09.2011 в 19:23
Отвечает на сообщение 374036
0
Сергей спасибо за полезное инфо.
Отправлено 25.09.2011 в 11:18
Отвечает на сообщение 374036
+2
Очень интересно.

Если позволите несколько вопросов:

CCP - Это Crowd Control Productions ?
А кто такие версионники?

Почему БД считается в коннектах, а не в запросах/сек?

Что такое горизонты?
Отправлено 26.09.2011 в 00:50
Отвечает на сообщение 374084
+3
> 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 16:19
Sergey Mereutsa  26.09.2011 16:41
Евгений Павлов  26.09.2011 18:37
Андрей Фролов  26.09.2011 18:46
В ветке ещё 3 сообщения
Отправлено 26.09.2011 в 07:23
Отвечает на сообщение 374035
+2
Проект tankionline.com.
Язык программирования - Java, но как сказано выше не важно какой язык, важно уметь на нем программировать. В качестве базы данных используем PostgreSQL и Redis. При этом Redis используется не как кеш для PostgreSQL, а как отдельная база данных. Сервера агрессивно кешируют данные в памяти, так что нагрузка на БД не очень большая.
Еще пара "умных" слов: osgi, hibernate, jgroups.
Отправлено 26.09.2011 в 16:44
Отвечает на сообщение 374101
0
Алексей, а можете что-то рассказать про то, где и как хоститесь?
Свои сервера, ко-локейшен, в клауде и т.п.
И по устройству - разделены ли машины для баз данных/логики, есть ли отдельные машины для репликации баз данных.
Отправлено 26.09.2011 в 15:49
Отвечает на сообщение 374035
+4
Сергей, Алексей, а вот слабо вам вместе или даже порознь взять, да и написать толковые статьи по сабжу для DTF? Я понимаю, что накидать кучу терминов, непонятных начинающим, -- это офигенно круто, но вариантов решений могут быть тысячи.
Поэтому внятные статьи профессионалов со схемами решений, объяснениями, почему так, а не иначе, диаграммами нагрузок и примечания, как с ними справляться, были бы очень кстати. И все прочее, относящееся к.

А то задолбали уже бесполезные интервью, где лишь раздувают щеки, и прочий трэшЪ, прочно обосновавшийся в левой колонке.

Давайте, не стесняйтесь. А то читаешь, что Redis используется как отдельная база данных, и крышу срывает, типа "на фига, раз и так используется PostgreSQL???".
Отправлено 26.09.2011 в 16:38
Отвечает на сообщение 374108
0
Перед лицом своих товарищей торжественно клянусь... ой, чего это я? Да, есть в черновиках. Не думал, что кому-то это будет интересно, так как по мне - так всё банально и больше надо маркетингом и рекламой заниматься, нежели программированием :)
Осталось узнать, кому присылать на DTF.
Отправлено 26.09.2011 в 21:32
Отвечает на сообщение 374111
0
программирование интереснее, чем какой-то там маркетинг =)
Михаил Матвиенко  27.09.2011 04:26
Отправлено 27.09.2011 в 04:24
Отвечает на сообщение 374111
+1
Sergey Mereutsa пишет:
> Перед лицом своих товарищей торжественно клянусь... ой,
> чего это я? Да, есть в черновиках. Не думал, что
> кому-то это будет интересно, так как по мне - так всё
> банально и больше надо маркетингом и рекламой
> заниматься, нежели программированием :)


Банально для тех, кто в теме (хотя тоже бывает офигевание из серии "пацаны, а вы в своем уме?" :)). Для многих -- совсем даже не банально :) Обращаться надо к Петру Шестакову, инфа в целом вот тут:
http://dtf.ru/help/help.php?topic=publ

Если есть черновики и желание -- это просто замечательно. Я даже с аккуратно оформленными картинками могу помочь, если надо :) Пиши в личку, если что.
Списки доступа
  • Подписчики [675]
  • Белый список [19]
  • Черный список [3]
Права доступа
Вы можете читать группу, но не можете отвечать на сообщения и создавать новые темы.
Доступ для остальных:
анонимы : могут читать
новые : могут читать
постоянные : полный доступ

Copyright © 2021 ООО "ДТФ.РУ". Все права защищены.

Воспроизведение материалов или их частей в любом виде и форме без письменного согласия запрещено.

Замечания и предложения отправляйте через форму обратной связи.

Пользовательское соглашение