Skip to content

gas-coder/social_network_system_design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

System Design социальной сети для курса по System Design – https://balun.courses/courses/system_design?ysclid=mgnt2uxqdd770961050

Функциональные требования:

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

Нефункциональные требования: Время отклика:

  • Создание поста - 5 с.;
  • Оценка поста - 1 с.;
  • Добавление комментария к посту - 2 с.;
  • Получение ленты постов - 3 с.;
  • Получение комментариев к посту - 2 с.;
  • Получение фотографий поста - 3 с.;
  • Получение оценок поста - 500 мс.

10 000 000 DAU Приложение: - веб; - мобильное Геораспределенность: страны СНГ Доступность: 99,9% Сезонность: высокий сезон - лето/зима, низкий сезон - межсезонье (в высокий сезон множитель - х2) Максимальное количество подписчиков у пользователя: 1 000 000 Данные храним - всегда

Типы пользователей:

  • наблюдатели - 90% (просматривают ленту и фото, ставят лайки, контент не создают);
  • умеренные авторы - 9% (периодически публикуют посты, активно лайкают, комментируют и подписываются на других путешественников);
  • активные авторы - 1% (публикуют посты часто, активно комментируют)

Расчеты: Фотографий в посте - 5; Размер фотографии - 2 МБ; Количество символов в посте - 3 000 (3 КБ) Средний размер медиа для поста: 5 фото * 2 МБ = 10 МБ Средний размер метаданных поста - 10 КБ

RPS. Просмотр ленты Наблюдатели - 15 запросов в день Умеренные авторы - 25 запросов в день Активные авторы - 40 запросов в день Итого количество запросов в день: 0.915 + 0.0925 + 0.01*40 = ~16 запросов в день RPS = 10 000 000 * 16 / 86 400 = ~1 852

Трафик. Просмотр ленты (мета) 1 852 * 10КБ = 18 520 КБ/с

Трафик. Просмотр ленты (медиа) 1 852 * 1.2МБ = 2 222 МБ/с

RPS. Поиск и просмотр постов/мест

Наблюдатели - 10 запросов в день Умеренные авторы - 20 запросов в день Активные авторы - 30 запросов в день Итого количество запросов в день: 0.910 + 0.0920 + 0.01*30 = ~11 запросов в день RPS = 10 000 000 * 11 / 86 400 = ~1 273

Трафик. Поиск и просмотр постов/мест (мета) 1 273 * 7КБ = 8 911 КБ/с

Трафик. Поиск и просмотр постов/мест (медиа) 1 273 * 3МБ = 3 819 МБ/с

RPS. Подписки Наблюдатели - 0.25 запроса в день Умеренные авторы - 1 запрос в день Активные авторы - 2 запроса в день Итого количество запросов в день: 0.90.25 + 0.091 + 0.01*2 = ~0,4 запроса в день RPS = 10 000 000 * 0.4 / 86 400 = ~47

Трафик. Подписки 47 * 1КБ = 47 КБ/с

RPS. Лайки/комментарии Наблюдатели - 5 запросов в день Умеренные авторы - 10 запросов в день Активные авторы - 20 запросов в день Итого количество запросов в день: 0.95 + 0.0910 + 0.01*20 = ~6 запросов в день RPS = 10 000 000 * 6 / 86 400 = ~695

Трафик. Лайки/комментарии 695 * 3КБ =  2 085КБ/с

RPS. Публикация постов Наблюдатели - 0 запросов в день Умеренные авторы - 3 запроса в день Активные авторы - 5 запросов в день Итого количество запросов в день: 0.90 + 0.093 + 0.01*5 = ~0,4 запросов в день RPS = 10 000 000 * 0.4 / 86 400 = ~47

Трафик. Публикация постов (мета) 47 * 6КБ = 282 КБ/с

Трафик. Публикация постов (медиа) 47 * 10МБ = 470 МБ/с

Расчет одновременных соединений Connections = 10 000 000 * 0.1 = 1 000 000

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published