Facebook рассказала о службе распределения данных Akkio

Akkio обложка

Facebook рассказала в своём блоге о службе Akkio, которая распределяет данные с малым количеством копий. Она необходима чтобы оптимизировать скорость интернет-соединения. Использование Akkio привело к снижению объёмов передаваемого между дата-центрами трафика на 50% и настолько же — задержки при передаче данных.

Хранение информации

Служба уменьшает дублирование данных, разбивая на логические единицы с привязкой к местности. Затем единицы хранятся на ближайшем сервере и двух соседних от точки их расположения. По словам представителей компании, это позволяет снизить задержку для конечного пользователя. В то же время чем меньше нагрузки на сеть в регионе, тем выше её пропускная способность.

Однако любое изменение в трафике вызывает осложнения. В случае перегрузки запросами одного дата-центра, трафик перенаправляется в соседний. В то же время представители компании сообщают, что пользователи преимущественно заходят в соцсеть из двух-трёх регионов. Необходимость хранения трафика в 2−3 дата-центрах обусловлена выполнением требований устойчивости к ошибкам. При этом, данные занимают меньше места и требуется меньше соглашений о качестве предоставляемых услуг. Несмотря на некоторые минусы, для Facebook плюсов оказалось гораздо больше.

Кэширование

По словам специалистов Facebook, распределённое кэширование неэффективно для компании, поскольку:

  • низкие показатели считывания-записи ведут к избыточному обмену данными между центрами, поскольку из-за частых записей данные денонсируются;
  • данные требуют согласования, что в свою очередь повлечёт увеличение объёма передаваемых данных и рост времени обмена;
  • несмотря на высокий показатель степени совпадения кэша, задержка в передаче данных вырастет, если часть находится в другом дата-центре.

Архитектура Akkio

Akkio-architecture

Метаданные Akkio. Единица данных в Akkio называется микросегмент. Каждый микросегмент — это, к примеру, данные пользователя. При запросе данных служба сопоставляет их физическое расположение с находящимися в микросегменте. Бэкенд-клиент запрашивает у Akkio-клиента расположение данных, а после получения ответа сообщает службе варианты размещения данных в зависимости от региона.

Хранение расположения данных. Решение о хранении или перемещении данных в один из дата-центров принимается на основе трёх последних запросов. Возникает вопрос о перегруженности сети для каждого из таких запросов. Однако данные для одного пользователя объединены в группы с другими. Поэтому микросегмент с новостной лентой пользователя окажется проводником для определения будущего расположения остальных данных.

Время хранения данных. Записи о перемещении данных хранятся в течение 10 дней. Akkio работает с полностью согласованными данными и данными, согласованными через некоторое время. Для каждого типа Akkio использует разное программное обеспечение, чтобы избежать считывания устаревшей информации.

Служба размещения данных (DPS). Служба принимает решение об оптимизации размещения данных после получения информации от Akkio-клиента. В случае необходимости перемещения информации DPS определяет набор политик, после чего проверяет число запросов из дата-центров. По завершении операций необходимо проверить вместительность.

Учёт вместительности. Происходит расчёт факторов (наличие свободного места, загруженность сети и т.д.), после чего DPS генерирует значение для каждого доступного дата-центра. Если расположение микросегмента неоптимально, служба перемещает его в соответствии с полученным значением.

Умное мапирование. Размещение в ZippyDB происходит при помощи определённой хэш-функции. Во избежание одновременного перемещения одинаковой информации, она упорядочена и блокируется на уровне метаданных. Служба DPS обращается к данным и в случае их недоступности отменяет любые действия до следующего обращения к микросегменту.

Помимо вопросов о распределении данных, Facebook продолжает развивать направление виртуальной реальности. В конце сентября 2018 года на пятой ежегодной конференции Oculus Connect по виртуальной реальности в Сан-Хосе компания представила свою новую автономную VR-систему Oculus Quest. Новинка обеспечивает шесть степеней свободы и не нуждается в компьютере или смартфоне.

Source: блог Facebook Code

Подобрали два теста для вас:
— А здесь можно применить блокчейн?
Серверы для котиков: выберите лучшее решение для проекта и проверьте себя.