Балансування навантаження і відмовостійкість в «Однокласниках»

Ми продовжуємо пости з розшифровками виступів на конференції HighLoad++, яка проходила в підмосковному Сколково 7-8 листопада 2016 року.

Доброго дня, мене звуть Микита Духовний, і я працюю провідним системним адміністратором в проекті «Однокласники».

На даний момент інфраструктура «Однокласників» розташовується більш ніж на 11 тисячах фізичних серверів. Вони розташовані в 3-х основних дата-центрах в Москві. Також у нас є точки присутності CDN. За останніми даними в годину пік ми віддаємо нашим користувачам понад 1 терабіта трафіку в секунду.

У відділі системного адміністрування ми розробляємо і розвиваємо системи автоматизації. Ми займаємося багатьма дослідницькими завданнями. Ми допомагаємо розробникам запускати нові проекти.

Сьогодні ми поговоримо про балансування навантаження і стійкості на прикладі нашої соціальної мережі.

Читати далі →

Реліз YouTrack 2017.1 і Hub 2017.1

Привіт, Хабр! Зовсім нещодавно ми випустили нову версію системи управління проектами — YouTrack 2017.1 і коннектор інструментів JetBrains для спільної роботи — Hub 2017.1.

Hub вбудований в YouTrack, так що багато хто з оновлення доступні в обох продуктах. Тому ми вирішили написати один пост, в якому розповімо про два релізу.

image

Читати далі →

Структура "Feature Folders" ASP.NET Core MVC



Перша версія ASP.NET MVC з'явилася ще в 2009 році, а перший перезапуск платформи (ASP.NET Core) почав поставлятися з минулого літа. Протягом цього часу структура проекту за замовчуванням залишилася майже незмінною: папки для контролерів, уявлень (views) і часто для моделей (або, можливо, ViewModels). Такий підхід називається Tech folders. Після створення нового проекту ASP.NET Core MVC організаційна структура папок має наступний вигляд:


У чому проблема зі структурою папок за замовчуванням?
Великі веб-додатки вимагають кращої організації ніж маленькі. Коли є великий проект, організаційна структура папок, що використовується за умовчанням в ASP.NET MVC (і Core MVC), перестає працювати на вас.

Читати далі →

Підтримка высоконагруженного проекту



Євген Потапов ( eapotapov
Доповідь про те, що робити з проектом після того, як ми його запустили. Ви спланували архітектуру проекту, ви продумали, як у нього буде працювати інфраструктура, продумали, як будете балансувати навантаження, нарешті, його запустили. Що робити далі? Як підтримувати, як зробити так, щоб проект продовжував працювати, і як зробити так, щоб нічого, зрештою, не впало?

Читати далі →

Browser Fingerprint – анонімна ідентифікація браузерів



Валентин Васильєв (Machinio.com

Що ж таке Browser Fingerprint? Або ідентифікація браузерів. Дуже проста формулювання — це присвоєння ідентифікатора браузеру. Формулювання проста, але ідея дуже складна та цікава. Для чого вона використовується? Для чого ми хочемо привласнити браузеру ідентифікатор?


  • Ми хочемо враховувати наших користувачів. Ми хочемо знати, чи прийшов користувач до нас перший раз прийшов він вдруге або втретє. Якщо користувач прийшов вдруге, ми хочемо знати, на які сторінки він заходив, що він до цього робив. З анонімними користувачами це неможливо. Якщо у вас є система обліку записів, користувач логинится, ми все про нього знаємо — ми знаємо його обліковий запис, його персональні дані, ми можемо прив'язати будь-які дії до цього користувачеві. Тут все просто. У випадку з анонімними користувачами все стає набагато складніше.

Читати далі →

Дайджест свіжих матеріалів зі світу фронтенда за останній тиждень №248 (30 січня — 5 лютого 2017)

Пропонуємо вашій увазі підбірку з посиланнями на корисні ресурси і цікаві матеріали з області фронтенда.


Читати далі →

Куди податися програмісту за знаннями у цьому році

image
Highload + + в Москві, листопад 2016
Ми зробили для вас добірку кращих (на нашу думку) виступів з IT-конференцій, на які збираємося поїхати в першій половині 2017 року (як і обіцяли).
Все це буде корисно web-програмістам (PHP, Go, JS), QA і DevOps. Так, у списку досить мало конференцій, що проводяться на території Росії і країн СНД, але на сьогоднішній день їх, на жаль, в принципі не так багато. Так що, якщо раптом ви знаєте про якому-небудь стоїть заході, доповнюйте наш список в коментарях.
Читати далі →

Архітектура микросервисов



На жаль, у мене немає досвіду роботи з микросервисами, але близько року тому я дуже активно цікавився цією темою і вивчив всі джерела інформації, які зміг знайти. Я переглянув кілька виступів на конференціях, прочитав кілька статей дуже авторитетних і досвідчених фахівців на зразок Мартіна Фаулера, Фреда і Джорджа, Едріана Кокрофта та Кріса Річардсона, щоб якомога більше дізнатися про микросервисах. Ця стаття — результат моїх вишукувань.

Читати далі →

Free SSL для CP Vesta — легко. І SSL для Laravel

Привіт, друзі. Не для кого не відкрию секрет, що робота сайтів через https протокол стає не просто нормою життя, а й обов'язковою умовою. Але дуже багато сайтів все ще продовжують працювати через незахищений http протокол. Однак, велика кількість власників сайтів вже подумує про перехід на SSL. При пошуку інформації про те, як придбати сертифікат безпеки, власники ресурсів стикаються з низкою труднощів. Це і вибір типу сертифіката, ціна, необхідність у складній реєстрації, підтвердження своєї особистості та інше. Багатьох, недосвідчених користувачів, це відштовхує, відсуваючи перехід на протокол у довгий ящик. Але вихід є! Простий, безкоштовний і швидкий.

Читати далі →

Web Standards Days: вічні цінності фронтенда



Відвідування конференцій — це не тільки шанс зустрітися з колегами і долучитися до спілкування, але і можливість для професійного росту. Якщо обставини дозволяють вам брати участь у таких заходах, обов'язково робіть це! Слідуючи власним раді, 28 січня я відвідала Web Standards Days. Якщо ви з якоїсь причини пропустили цю конференцію, то надолужити згаяне можна на YouTube, де вже викладена запис повного дня. Записи окремих доповідей з'являться пізніше, а поки я поділюся особистими враженнями.

Читати далі →