Архивы метки: Redis в java

Разработка высоконагруженного сервера для казуальной онлайн игры

Но нашей задумке, эта статья должна открыть цикл, посвященный разработке и настройке высоконагруженных java-серверов для социальных онлайн игр. Все технологии, описанные нами ранее, вполне работоспособны и могут уверенно держать до 2-3К живого онлайна. Но когда речь начинает идти о 10К, 50К, 100К онлайна, недочеты предыдущих схем выливаются в полный обвал всего хозяйства.
Какие именно проблемы вылезают:

  • Первая проблема – невозможность, или сложность масштабирования. Довольно сложно сделать так, чтобы пользователи распределялись равномерно по N игровым серверам
  • Вторая проблема – блокирующие сокеты. На каждый такой сокет, как правило, создается один поток ввода и один поток вывода. Два потока на юзера. Это очень-очень много при больших онлайнах, просто недопустимо.
  • Когда мы начинаем пытаться решать эти проблемы – вылазят новые, и так далее – тонем в заплатках.

    Ценой набитых шишек, а так же благодаря советам более опытных коллег, мы нашли пути построения нагруженной системы. Как именно? – Об этом и пойдет речь. Мы не хотели бы донести этот опыт до геймдев-пипла. :)
    Продолжить чтение

    Опубликовано в Мысли о разработке |
    Метки , , , , , |
    Комментарии выключены