Как стать автором
Обновить
12
0
Павел Матлашов @PvalMatlashov

Пользователь

Отправить сообщение
На тот момент наибольший опыт был в использовании NHibernate и Entity Framework. В целом, мы достаточно легко приняли решение отказаться от использования этих и других ORM. Возможно, современные реализации преуспели в снижении накладных расходов, но у нас до сих пор не возникло желания переходить на их использование.
Да, верно — мы ограничились использованием Connection, Command и DataReader.
У себя мы не обнаружили такого влияния на прозводительность, о котором Вы говорите. Наоборот, эта библиотека показала себя очень хорошо, она достаточно простая и стабильная.
Мы используем подход сходный с shards. Данные разделяются на разные базы и хостятся на разных физических серверах. С каждой базой связан игровой сервис (как правило, размещаются на одном физическом сервер, что позволяет достичь минимальных задаржек при работе). Пару база и сервис мы называем сегментом. Пользователи при регистрации распределяются по сегментам и в дальнейшем запросы пользователя идут к нужному сегменту. Для управления сегментами сейчас используем простой подход. Создаем два сегмента на одном физическом сервере и когда нагрузка доходит до определенного нами лимита, мы разносим сегменты на два физических сервера, при этом добавляя по одному новому на каждый. Это не обеспечивает идеальной балансировки, но позволяет достичь более чем достаточного качества и мы пока не сталкивались с проблемами. Если столкнемся, будем рассматривать вариант более умного разделения на сегменты с перебалансировкой пользователей с учетом их активности.
Добрый! Нет, к сожалению, весь код показать нет возможности, но сами замеры построены на функциях QueryPerformanceCounter и GetThreadTimes
Добрый! С клиентом общаемся по HTTP, запрос-ответ + Long Polling.

Информация

В рейтинге
Не участвует
Откуда
Харьков, Харьковская обл., Украина
Зарегистрирован
Активность