На конференції HighLoad++ 2016 Олег Облеухов розповів про не вимагає при зростанні навантаження втручання адміністратора архітектурі, яку він спланував і впровадив у компанії InnoGames.

Всім привіт. Буквально пару слів про мене. Мене звати Олег, до цього я працював у компанії «Яндекс», жив у Санкт-Петербурзі, чудовому місті. Зараз я переїхав в Німеччину і працюю в InnoGames. Компанія займається розробкою онлайн-ігор. На рахунку 150 мільйонів користувачів — досить велика компанія, ну, трохи менше, ніж «Яндекс», звичайно. І сьогодні ми поговоримо з вами про те, як зробити перевантажений сервіс без даних про навантаження, не знаючи її кількість.

Перш ніж ми почнемо. Тепер ви все знаєте про мене, я хотів би дізнатися трошки про аудиторії. Підніміть руку ті, хто використовує Docker на продакшне? Ну приблизно третина залу, добре. А тепер з тих, хто підняв руку, підніміть ті, хто задоволений використанням Docker на продакшне? Значно менше. А тепер ще більш складне питання. Ті, хто задоволений використанням Docker на продакшне, підніміть руку ті, хто сисадмін або інженер, або ще хтось не-розробник. Я бачу трьох. Окей.

Насправді ми не будемо сьогодні говорити про Docker. Але ми будемо розмовляти про CRM. Я вам розповім, що це таке, навіщо нам потрібна ця система.

Читати далі →

image
зрештою, я повинен був до цього прийти. Коли я опублікував статтю «Я написав швидку хеш-таблицю», а потім ще одну — «Я написав ще більш швидку хеш-таблицю». Тепер я завершив роботу над самою швидкою хеш-таблицею. І під цим я розумію, що реалізував самий швидкий пошук порівняно з усіма хеш-таблиць, які мені вдалося знайти. При цьому операції вставки та видалення також працюють дуже швидко (хоча і не швидше конкурентів).
Я використовував хешування за алгоритмом Robin Hood з обмеженням максимальної кількості наборів. Якщо елемент повинен бути на відстані більше Х позицій від своєї ідеальної позиції, то збільшуємо таблицю і сподіваємося, що в цьому випадку кожен елемент зможе бути ближче до своєї бажаної позиції. Схоже, такий підхід дійсно добре працює. Величина Х може бути відносно невелика, що дозволяє реалізувати деякі оптимізації внутрішнього циклу пошуку по хеш-таблиці.
Якщо ви хочете тільки спробувати її в роботі, то можете завантажити звідси. Або прокрутіть вниз до розділу «Вихідний код і використання». Хочете подробиць — читайте далі.
Читати далі →



На конференції HighLoad++ 2016 керівник розробки «М-Тих» Вадим Мадисон розповів про зростання від системи, для якої сотня микросервисов здавалася величезним числом, до навантаженого проекту, де пара тисяч микросервисов — буденність.

Тема моєї доповіді — то, як ми запускали в продакшн микросервисы на досить навантаженому проекті. Це якийсь агрегований досвід, але оскільки я працюю в компанії «M-Тих», то давайте я пару слів розповім про те, хто ми.

Якщо коротко, то ми займаємося видеоотдачей — віддаємо відео в реальному часі. Ми є видеоплатформой для «НТВ-Плюс» і «Матч ТВ». Це 300 тисяч одночасних користувачів, які звертаються за 5 хвилин. Це 300 терабайт контенту, який ми віддаємо в годину. Це така цікава задача. Як це все обслужити?

Про що сама ця історія? Це про те, як ми росли, як проект розвивався, як відбувалося якесь переосмислення будь-яких його частин, якогось взаємодії. Так чи інакше, це про масштаб проекту, тому що це все — заради того, щоб витримати ще більше навантаження, надати клієнтам ще більше функціоналу і при цьому не впасти, не втратити ключових характеристик. Загалом, щоб клієнт залишився задоволений. Ну і трохи про те, який шлях ми пройшли. З чого ми починали.

Читати далі →

До Java-конференції JPoint 2017 залишилося п'ять тижнів, 75% доповідей вже затверджені, решта 25% будуть обрані з наявних заявок до середини березня. У цьому пості я розповім вам про те, що у нас вийшло.



Якщо теми всіх доповідей розділити за тематиками, то вийде наступне:
  • Продуктивність Java, як на рівні JVM, так і в роботі з фреймворками;
  • Препарування JVM і публічна демонстрація кривавих кишочков;
  • Побудова розподілених систем, які працюють;
  • Проблеми паралелізму і багатопоточності у великих проектах;
  • Контейнеризація і оркестрация Java-додатків і сервісів.


Плюсом до основним блокам будуть доповіді на більш специфічні теми: Kotlin, trueOOP на Java від Єгора, патерни і, звичайно, трохи паззлеров!

Під катом я розповім про тих доповідях, які вже затверджені на JPoint 2017. Щоб все це не виглядало кашею, я спробував розбити доповіді по темах.

Читати далі →



Олександр Лебедєв виражає всю нетривіальність дизайну REST API. Це — розшифровка Highload++ 2016.

Всім здрастуйте!
Підніміть руку ті, хто фронтенд розробник у цьому залі? Хто мобільний розробник? Хто бекенд розробник?
Бекенд розробників більшість у цьому залі зараз, що радісно. По-друге, майже всі прокинулися. Чудова новина.

Пару слів про себе
Хто я такий? Чим займаюся?

Я фронтенд team lead компанії «Нові " Хмарні Технології». Останні 5 років я писав веб фронтенд, який працює з REST API і який має для користувача працювати швидко. Я хочу поділитися досвідом про те, які API повинні бути, які дозволяють цього домогтися.

Незважаючи на те, що я буду розповідати з боку фронтенда, принципи — загальні вони більш-менш для всіх. Я сподіваюся і бекенд розробники, і розробники мобільних додатків так само знайдуть для себе в цьому оповіданні корисні речі.

Читати далі →



Роман Гребенніков пояснює складність побудови розподілених систем. Це — доповідь Highload++ 2016.

Всім привіт, мене звати Роман Гребенніков. Я працюю в компанії Findify. Ми робимо пошук для онлайн-магазинів. Але розмова не про це. У компанії Findify я займаюся розподіленими системами.

Що ж таке розподілені системи?

Читати далі →



Віктор Тарнавський показує, що воно працює. Перед вами розшифровка доповіді Highload++ 2016.

Доброго дня. Мене звати Віктор Тарнавський. Я працюю в «Яндексі». Розповім про дуже швидку, дуже відмовостійку і супермасштабируемую базу даних ClickHouse для аналітичних задач, яку ми розробили.

Пару слів про мене. Мене звати Віктор, я працюю в «Яндексі» і керую відділом, який займається розробкою аналітичних продуктів, таких як «Яндекс.Метрика» та «Яндекс.AppMetrica». Я думаю, багато хто з вас користувалися цими продуктами і знають їх. Ну і в минулому і досі пишу багато коду, а ще раніше займався розробкою заліза.

Читати далі →

Ми 1cloud часто розповідаємо про технології, наприклад, нещодавно ми писали про машинному навчанні і all-flash-масивах зберігання даних. Сьогодні ми вирішили поговорити про Big Data. Найчастіше основним визначенням великих даних вважають відомі «3V» (Volume, Velocity і Variety), які ввів аналітик Gartner Дуг Лейни (Doug Laney) в 2001 році.

При цьому іноді найважливішим вважають саме обсяг даних, що частково зумовлено самою назвою. Тому багато замислюються тільки про те, дані якого розміру можна вважати великими. У цій статті ми вирішили з'ясувати, що насправді важливо у великих даних крім розміру, як вони з'явилися, чому їх критикують і в яких сферах вони успішно застосовуються.


Читати далі →



Олексій Акулович пояснює життєвий шлях высоконагруженного проекту на PHP. Це — розшифровка Highload ++ 2016.

Мене звати Льоша, я пишу на PHP.

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

Почнемо.

Читати далі →



Петро Зайцев показує різницю між MySQL і MongoDB. Це — розшифровка доповіді з Highload++ 2016.

Якщо подивитися такий відомий DB-Engines Ranking, то можна побачити, що протягом багатьох років популярність open source баз даних зростає, а комерційних — поступово знижується.

Читати далі →