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