Как стать автором
Обновить

Комментарии 29

Как всегда, обо всех ошибках и прочих огрехах перевода прошу сообщать в ЛС или через контакты, указанные в профиле. Спасибо, приятного чтения.
Спасибо за статью. К слову хотел скинуть ссылку на бекап базы StackOverflow. Данные там не все, но для тестирование 65Гб информации очень пригодилось.
Ну вот, на горе хейтерам с аргументацией уровня "На вашей винде можно только кривой sharepoint запустить, и то, сколько не настраивай, все равно будет падать каждые 10 секунд". :-)

Профессионалы они и есть профессионалы, спасибо за перевод.
Ну винда там мало влияет на производительность, это скорее вопрос железа и организации. А то что можно эффективно использовать и винду, то это не для кого не секрет. Ведь не зря и MS копает в том же направлении, тут вам и сервера с минимальным GUI и автоматизация за счет PS. Хотя до полного счастья далековато, но прогресс на лицо.
Просто любопытно было встретить в таком известном проекте, ведь многие позиционируют технологии MS "от enterprise для enterprise". Удивлен.
Это начало меняться с выходом MVC и NuGet. Тот же Battle.Net бэк на .Net.
А вы думаете зачем там все задублировано? Пока один упал — другой поднялся!
PS: На правах шутки.
и так раз в 10 секунд
Подскажите по HAProxy.

В описанном проекте HAProxy балансирует, делает SSL offloading. Кеширование ответов на запросы реализовано программно, Redis используется в качестве кеша.

HAProxy может кешировать ответы?

Почему спрашиваю. Есть проект, где работает связка HAProxy + Oracle WebLogic (аналог текущей связки HAProxy + IIS). Получил отказ на предложение добавить nginx для кеширования и разгрузки Oracle WebLogic, аргумент для отказа — уже есть HAProxy.
Лучше для такого использовать какой-нибудь varnish. Мы как раз его прикручиваем к haproxy сейчас перед IIS
Спасибо.

Перечитал статью, для кеширования статики StackOverflow, видимо, используют CloudFlare — про кеширование DNS в статье написано, про кеширование статики — предположил. А Redis кеширует работу с базой данных и сервисами. И поэтому у них нет ни varnish ни nginx.
некоторые слова все-таки лучше на русский не переводить
Я верно понял, что весь StackOverflow, со всеми его дочерними площадками, данными и т. д. умещается на 33 серверах?!
  1. вообще-то 27 (остальное — не серверы ;)
  2. всё это имеет боевую нагрузку в районе 5-9% для веб, 6 и 13% для master-серверов SQL и 0-1% для slave. т.е. эти 27 серверов ещё имеют запас эдак на порядок.
С вашего позволения дополню вас :)

Что нам необходимо, чтобы запустить Stack Overflow? Этот процесс не сильно изменился с 2013 года, но из-за оптимизации и нового железа, нам необходим только один web-сервер. Мы этого не хотели, но несколько раз успешно проверили. Вношу ясность: я заявляю, что это работает.
у них сервера мощные очень 10 core/ 20 Threads
"The new web tier has dual Intel 2687W v3 processors and 64GB of DDR4 memory".
это вам не амазон с с3.xlarge 4 core
Мощные, но, опять же, любопытно, не самые мощные. Intel 2699, 18 ядер. Такой еще бы и в 4-х сокетный сервер, вот это получится самолет. :)
С Microsoft SQL Server Enterprise, правда, такие шутки тяжело проходят. Там лицензии поядерные, и весьма дорогие.
Просто дополню Ваш комментарий. Лицензии на ядра добавили начиная с 2012 версии. StackOverflow долгое время крутился на SQL Server 2008. Сейчас они используют SQL Server 2014 (мигрировали на него еще в 2013 когда был доступен CTP).
Справедливости ради замечу, что есть m4.10xlarge на 40 ядер. Но дорого :)
но вот как раз для людей который любят говорить у нас все можно на один сервер поставить
Включая маршрутизаторы.
было бы очень интересно прочитать а может посмотреть на реализацию L1, L2 cache на базе Redis, и как они находят и оповещают что надо обновить в кэше.
там же всё написано

Redis isn’t just for cache though, it also has a publish & subscriber mechanism where one server can publish a message and all other subscribers receive it—including downstream clients on Redis slaves. We use this mechanism to clear L1 caches on other servers when one web server does a removal for consistency

Собственно redis pub/sub
Интересно, как они используют JSON-сериализатор Jil?
Тоже в свое время перескакивал на альтернативные фреймворки (Jil, fastJSON, NetJSON), но появилось столько проблем, начиная с невозможностью сделать camelCase (Pascal на клиенте выглядит слишком странно) и заканчивая просто ошибками сериализации простых! объектов (Jil) + кучи Issues на GitHub по каждому из проектов, которые долго не закрываются…
О, теперь я знаю, что Stackoverflow написан на ASP.NET!
Спасибо!
Они этого никогда не скрывали. Джоэль Спольски вышел из рядов Микрософта.
Я, кстати, слышал, что Спольски ни за что не хотел использовать МС-стек при запуске проекта, но его уговорили, что ASP.NET будет лучше [чем то решение, которое он хотел выбрать]. Но сейчас почему-то не могу найти, где видел. Я это к тому, что то, что он вышел из МС в какой-то мере могло бы сыграть против ASP.NET
Забавный факт: некоторые из этих страниц были открыты более 18 месяцев назад. Мы не знаем почему. Кто-то должен проверить, живы ли еще эти разработчики.

Как такое возможно? Может быть какой-нибудь бот держит эти вебсокеты
Легко. Я могу подключится на один из серверов, открыть там браузер, в нем — stack overflow, после чего отключится и не появляться там месяцок. Видать не один я такой.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий