Главная » 2013 » Январь » 5 » Старый добрый ЖЖ
14:12
Старый добрый ЖЖ
4 января, 13:06

    Я тут за оливье и шампанским самое интересное пропустил. Оказывается ЖЖ лежал в дауне с 31-го по 02-е, и это вызвало истерику и незапланированную пенную вечеринку у некоторых персонажей (не будем показывать пальцем). К счастью лично мне они не писали, но во входящих достаточно писем с «Доколе?!» и «Объясните, в чём дело!».

    Я объясню. Но сначала всё-таки хочу предупредить, что я не имею отношения к московским программистам — я директор по продвижению ЖЖ в Украине. У меня большей частью маркетинговые функции, плюс ещё парочка сопутствующих. И внутри СУПа нет рассылки новостей для сотрудников, которые строго-настрого запрещено публиковать — то есть «Дронов знает причину глюков, Бармин знает, я знаю, а вам не скажем» — этого нет.

    Есть моё мнение о работе сервиса, о том, как он устроен и почему глючит. Разных вопросов было много, отвечать буду по порядку.

    1. Почему ЖЖ постоянно глючит?

    ( Свернуть )
    ЖЖ очень старый. Тринадцать лет назад Брэд Фитцпатрик создал небольшой сервис онлайн-дневников для своих друзей. Неизвестно, на какое количество пользователей он был рассчитан, но точно не на десятки миллионов аккаунтов. Время шло, ЖЖ переходил из рук в руки (СУП — всего лишь последний из владельцев), количество пользователей росло, разные команды программистов по разному пытались справиться с растущей нагрузкой. На данный момент в движке ЖЖ куча старого кода, который писали совершенно разные люди без единой стратегии и без документирования. И архитектура ЖЖ устарела несколько лет назад — не дизайн (тоже архаичный), а внутреннее устройство.</p>

    Именно поэтому простой и наивный совет «добавить серверов, памяти или чего там у вас не хватает»© — не работает. При росте нагрузки масштабирование помогает до поры до времени, это что-то вроде «откладывания решения на потом» — ошибки в архитектуре всё рано вылезут. Если у вас есть знакомый программист, спросите у него, он подтвердит, что ошибки в архитектуре ПО — самые дорогостоящие. Их очень сложно исправлять, когда продукт уже запущен и им пользуются люди. А если это онлайн-продукт (24×7) и пользователей десятки миллионов?..

    Если программиста у вас нет, объясню с помощью аналогии. Представьте себе старый многоэтажный дом, в котором живут люди, и вам нужно поменять архитектуру этого дома. Вы вынуждены выбивать сваи и вытаскивать плиты из фундамента(!) Разумеется, дом иногда падает, вместе с жильцами. Дом поднимают и продолжают ремонт. Часто, чтобы дом не падал, обходятся временными решениями — не меняющими архитектуру. Например, из-за прихода новых жильцов и роста количества бытовых электроприборов, электросеть не справляется с нагрузкой, пробки выбивает регулярно. Но жильцы требуют повысить мощность, плевать каким способом, потому что «у соседей в новостройке всё это есть». Проблема решается затаскиванием каждому в окно отдельного силового кабеля — выглядит некрасиво, весь дом в многометровых кабелях, во время сильного ветра они рвутся, жильцы опять недовольны. И так всё время.

    Кстати, о «соседних новостройках». Критики ЖЖ постоянно приводят в пример Фейсбук и ВКонтакт, дескать у них гораздо больше пользователей и ничего не глючит. Это, кстати, удобный индикатор — если человек начинает использовать FB и VK как аргумент, то он однозначно профан, можете сразу вычёркивать его из дискуссии. Потому что надо быть совсем уж чайником, чтобы не знать, что Фейсбук и ВКонтакт в два раза моложе ЖЖ, создавались изначально как проекты под большую аудиторию, использовали технологии «web 2.0″ и самое главное — писались одной командой от начала и до конца. Кроме того в этих соцсетях масса ограничений, упрощающих жизнь программистам — попробуйте, например, создать в Фейсбуке сложноформатированный пост с чередующимся текстом, картинками и видероликами. Это просто невозможно сделать. А в ЖЖ чистый HTML и посты весом иногда в десятки мегабайт, учитывайте это.

    ЖЖ глючит последние несколько лет вовсе не потому, что его разработкой занимается СУП. Движок ЖЖ просто дошёл до своего предела возможностей и глючил бы в любом случае. Но если ничего не менять, то глюки будут нарастать, пока однажды ЖЖ не остановится навсегда. Если же пытаться ремонтировать, что-то менять в архитектуре, то глюки будут вылезать то тут, то там (напомню — дом иногда падает), но по крайней мере есть шанс выбраться. Перестроить архитектуру в соответствии с новыми потреб...
Просмотров: 435 | Добавил: Ривалдо | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: