link3400 link3401 link3402 link3403 link3404 link3405 link3406 link3407 link3408 link3409 link3410 link3411 link3412 link3413 link3414 link3415 link3416 link3417 link3418 link3419 link3420 link3421 link3422 link3423 link3424 link3425 link3426 link3427 link3428 link3429 link3430 link3431 link3432 link3433 link3434 link3435 link3436 link3437 link3438 link3439 link3440 link3441 link3442 link3443 link3444 link3445 link3446 link3447 link3448 link3449 link3450 link3451 link3452 link3453 link3454 link3455 link3456 link3457 link3458 link3459 link3460 link3461 link3462 link3463 link3464 link3465 link3466 link3467 link3468 link3469 link3470 link3471 link3472 link3473 link3474 link3475 link3476 link3477 link3478 link3479 link3480 link3481 link3482 link3483 link3484 link3485 link3486 link3487 link3488 link3489 link3490 link3491 link3492 link3493 link3494 link3495 link3496 link3497 link3498 link3499
  • Страница 1 из 1
  • 1
Модератор форума: Никита  
Что происходит с Instagram, когда вы ставите очередной лайк?
Написал 27.11.2015 в 15:52 • (Ур. 3)
Что происходит с Instagram, когда вы ставите очередной лайк?

Хью Динг устроился на работу в Instagram почти три года назад, в то
время, когда новая социальная сеть семимильными шагами завоевывала мир.
Спустя некоторое время Динг начал замечать, что его начальник, один из
основателей компании Майкл Кригер, имевший в целом жизнерадостный нрав,
становился временами хмур и задумчив. Он сидел, сгорбившись, за своим
рабочим столом, молча стучал по клавиатуре и приговаривал сквозь
стиснутые зубы: «Мы должны решить эту проблему». Такое его поведение
означало, что по всему миру Инстаграм замедлил работу. Скорость падала
почти до нуля. И причина всегда была одна и та же: в сети появлялся
Джастин Бибер.

Ну, или почти всегда. Иногда это была Ким Кардашьян.

И вот как все происходило. Едва Бибер выкладывал в Instagram
какую-нибудь фотку, и тут же его фанаты, или «белиберы», начинали так
активно ставить «лайки», что cеть просто не выдерживала. Крупные
интернет-порталы вроде Instagram работают следующим образом: чтобы
быстро доставлять контент миллионам пользователей одновременно,
используется кэш-память компьютерных дата-центров, которая сжимает
наиболее популярный онлайн-контент и сохраняет его на сверхскоростных
системах памяти сотен и даже тысяч серверов по всему миру. Напрямую из
памяти сервера контент пользователю доставляется гораздо быстрее, чем из
баз данных, хранящихся на жестких дисках, как это делалось раньше. Но
фотографии Бибера настолько утяжеляются «лайками» фанатов, что
кэш-память просто не вмещает их. Сервис начинает доставать каждый «лайк»
по одному с диска, что замедляет работу баз данных и даже останавливает
ее. В итоге Instagram лежит.

Хью Динг: «Когда я узнал об этой проблеме, то подумал “ничего себе.
Аккаунт всего одной знаменитости может погубить целую систему”».

Майкл Кригер говорит, что до сих пор наизусть помнит цифровой ID Бибера в
базе данных, содержащей аккаунты Instagram — 6860189. Ведь эта цифра
столько раз становилась источником головной боли.

Майкл Кригер: «Разбудите меня среди ночи, я смогу назвать вам эти семь
цифр. На раннем этапе работы сети мы столько раз сталкивались с разными
проблемами из-за этого номера, что Джастин Бибер у меня сейчас
ассоциируется только с ним».

Бибер — баг

В конце концов, команда Instagram нашла решение этой проблемы. Прошлым
летом, через два года после того как Facebook приобрела Instagram, все
ее онлайн-операции перевели в один из массивных дата-центров материнской
компании. В течение последних нескольких месяцев возможности для
Instagram расширили, отведя под ее базы данных еще два центра,
принадлежащих Facebook. И несмотря на то, что сегодня инфраструктура
сети ежедневно обрабатывает и передает до 80 миллионов фото и видео от
400 миллионов пользователей по всему миру, «Бибер-баг» и другие проблемы
крупных онлайн-сервисов больше угрожают соцсети. К тому же недавно
специалисты заново переработали ПО Instagram.

Для подсчета количества «лайков», например, Instagram теперь использует
так называемый «денормализованный счетчик». Это означает, что система не
пытается сохранить растущее количество «лайков» в кэш-памяти и не
запрашивает каждый раз индивидуальные аккаунты тех, кто ставит эти
«лайки». Это было бы слишком долго, поскольку аккаунты размещаются в
базах данных на жестких дисках. Вместо этого для каждой фотографии есть
свое хранилище «лайков», размещенное в одной ячейке памяти базы данных. И
по мере необходимости осуществляется доступ только к одной этой ячейке.
«Для получения доступа на один диск требуется всего 10 микросекунд, —
говорит инженер Instagram Лиза Го. — И эта ячейка всегда остается на
своем месте, откуда бы ее ни запрашивали».

И это лишь одна небольшая надстройка в целой инфраструктуре. Но в
совокупности с другими небольшими нововведениями, это дает возможность
расширять сеть без дополнительных проблем. Такая модель расширения
применима и для других больших пользовательских систем. Разумеется, не
все стартапы получают возможность разместить свои базы на мощностях
дата-центров Facebook, которые являются одними из самых продвинутых в
мире. Но со временем многие компании сталкиваются с такими «болезнями
роста» и, соответственно, могут воспользоваться разработанными в
Instagram средствами.

Как сообщается в официальном блоге компании, перевод баз данных в
несколько дата-центров Facebook позволяет им дальше расширять свою и без
того огромную пользовательскую аудиторию. И лишь когда количество
пользователей достигнет отметки 400 миллионов, понадобятся
дополнительные серверы. В то же время увеличение мощностей дата-центров
позволяет компании предупреждать серьезные сбои сети. Если по какой-то
причине отказывает один из дата-центров, его часть работы можно
перераспределить по оставшимся.

Instagram повсюду

Тем не менее, систему могут поджидать и другие проблемы. Среди прочего,
объем кэш-памяти одного дата-центра может не соответствовать объему
кэш-памяти другого. Если, например, пользователь прокомментирует фото,
аккаунт которого находится в базе данных на сервере в штате Орегон, этот
коммент появится в кэш-памяти в Орегоне, но может не обнаружиться в
кэш-памяти в дата-центре Facebook где-нибудь в Северной Каролине. Так
что если другие пользователи будут просматривать фото через серверы
Северной Каролины, то опубликованный коммент они не увидят.

Чтобы решить эту конкретную проблему, в Instagram используется
инструмент под названием PgQ. В сочетании с базой данных PostgreSQL,
этот инструмент обеспечивает обновление информации на всех региональных
серверах: если данные на одном из них устаревают, система сверяется с
последними обновлениями и добавляет их. Эта база данных размещена на
хард-диске, поэтому процесс занимает некоторые время. И вот здесь
приходят на помощь те самые денормализованные счетчики.

Конечно, простому пользователю все эти технические подробности
малопонятны. То, что мы можем быстро и легко разместить и посмотреть
фотографии и прочий контент в Instagram, требует на самом деле решения
множества сложнейших задач, в том числе работу с кэш-памятью (на базе ПО
MemCached ) и множеством баз данных (PostgreSQL and Cassandra), а также
сотнями веб-серверов и брокеров сообщений. Суть в том, что пока все эти
дата-центры и серверы, расположенные в разных точках по всему миру,
работают слаженно и бесперебойно, нам, простым пользователям, можно не
беспокоиться о том, что Instagram может зависнуть. Не беспокоится
теперь и Майкл Кригер. Ну или, по крайней мере, у него стало меньше
поводов для беспокойства.

Веб-сервисы остаются уязвимыми перед стихийными бедствиями. Но от одного
стихийного бедствия сеть удалось защитить. Очередные селфи Джастина
Бибера наносят уже гораздо меньший урон.



Продажа сообществ, аккаунтов в соцсетях
  • Страница 1 из 1
  • 1


Никита192
yanaz146
Kenzo104