Как Discord масштабировал Elixir на 5 млн одновременных пользователей

Автор: admin от 9-08-2017, 22:15, посмотрело: 22

С самого начала Discord активно использовал Elixir. Виртуальная машина Erlang стала идеальным кандидатом для создания высокопараллельной системы реального времени, которую мы собирались создать. Первоначальный прототип Discord был разработан на Elixir; сейчас он лежит в основе нашей инфраструктуры. Задача и предназначение Elixir простые: доступ ко всей мощи Erlang VM через гораздо более современный и дружественный язык и набор инструментов.



Прошло два года. Сейчас у нас пять миллионов одновременных пользователей, а через систему проходят миллионы событий в секунду. Хотя мы абсолютно не сожалеем о выборе архитектуры, пришлось проделать массу исследований и экспериментов, чтобы добиться такого результата. Elixir — это новая экосистема, а экосистеме Erlang не хватает информации о её использовании в продакшне (хотя Erlang in Anger — это нечто). По итогу всего пути, пытаясь приспособить Elixir для работы в Discord, мы извлекли некоторые уроки и создали ряд библиотек.
->

Категория: Программирование » Веб-разработка

 

Разрушители легенд — Gentoo Linux

Автор: admin от 9-08-2017, 21:20, посмотрело: 38

Дочка Убунту прибежала к Дебиану и, весело смеясь, поцеловала его в лоб: "С днём рождения, папа!". Затем она окинула радостным взглядом сидящих за столом гостей и спросила своим звонким голосом:

— Папа, а где Gentoo, разве он ещё не пришёл?

— Нет, он ещё только собирается.

Среди прочих Linux дистрибутивов Gentoo выделяется тем, что его окружает множество мифов, светлой и темной окраски. Я его использую более 10 лет в качестве домашней и офисной рабочей станции и хочу с вами разоблачить несколько мифов и создать парочку новых.



Разрушители легенд — Gentoo Linux



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

->

Категория: Системное администрирование, Linux

 

Linux Kernel Extension for Databases

Автор: admin от 9-08-2017, 21:10, посмотрело: 58

Linux Kernel Extension for Databases


Александр Крижановский ( krizhanovsky )



Сегодня буду рассказывать про внутренности базы данных, про внутренности ОС и о том, что происходит на стыке. Когда я говорю про базу данных, я имею в виду в основном ввод/вывод, управление памятью и обработку транзакций. Это совершенно не про SQL, не про индексы, не про блокировки и т.д. Только ввод/вывод, управление памятью и транзакции.



В тех местах, когда я буду упоминать про базы данных, я буду ссылаться на InnoDB, которая мне наиболее знакома.



Linux Kernel Extension for Databases


Если мы посмотрим на движок транзакционной базы, мы увидим примерно такую же картинку. У нас есть буфер pool, в нем живут странички индекса, странички данных. Все эти странички выводятся через транзакционный лог, когда они изменились, проходит это все через планировщик ввода/вывода и в ту, и в другую сторону. Планировщик ввода/вывода, когда он считывает что-то с диска, он делает read ahead. Все это проходит через файловую систему, но это дальше, на диске.
->

Категория: Программирование, Системное администрирование, Linux

 

Запросы GraphQL без подключения к сети с помощью Redux Offline и Apollo

Автор: admin от 9-08-2017, 18:55, посмотрело: 30

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



А это… не просто.



Посмотрим, как создать эффективное решение, работающее без подключения к сети, на React и слое данных GraphQL с применением Apollo Client. Статья разбита на две части. На этой неделе разберем оффлайновые запросы. На следующей неделе примемся за мутации.

->

Категория: Программирование » Веб-разработка

 

Социальная сеть для киноманов или как не закопаться, разрабатывая еще одну соцсеть

Автор: admin от 9-08-2017, 18:10, посмотрело: 31

Редизайн или немного больше?



Осенью 2016 года ко мне по рекомендации обратился заказчик с просьбой разработать iOS приложение для киноманов с достаточно обширным функционалом. На тот момент уже существовал готовый прототип с, мягко говоря, примитивным UI. Задача стояла следующим образом: сделать редизайн с доработкой “кое-какого” функционала. Уже тогда у меня закралась идея, что редизайном дело не обойдется, но на сколько объемный это проект я не осознавал. Но тем интереснее…

Социальная сеть для киноманов или как не закопаться, разрабатывая еще одну соцсеть ->

Категория: Веб-разработка, Game Development, iOS

 

Как workflow разработки влияет на декомпозицию задач

Автор: admin от 9-08-2017, 17:20, посмотрело: 41

Как workflow разработки влияет на декомпозицию задач

Одним из самых важных факторов, влияющих на скорость разработки и успех запуска проекта, является правильная декомпозиция идеи продакт-менеджера в задачи для непосредственно программирования. Как правильно это делать? Взять сценарий работы новой фичи от продакта и сразу начать кодить? Сначала написать приёмочные тесты, а потом – код, который будет обеспечивать их прохождение? А, может, переложить всё на плечи разработчиков – и пусть они в ходе скрам-покера сами решают?



Давайте подумаем и обозначим проблемы, которые могут возникнуть в процессе разделения задач, и способы их решения. В этом посте будут рассмотрены основные принципы декомпозиции задач при работе в команде. Меня зовут Илья Агеев, я – глава QA в Badoo. Сегодня расскажу, как workflow влияет на декомпозицию, насколько отличаются тестирование и выкладка задач, которые появляются в результате декомпозиции, и каких правил стоит придерживаться, чтобы процесс разработки проходил гладко для всех участников.

->

Категория: Программирование » Веб-разработка

 

Разбор доклада Артёма Гавриченкова о масштабировании TLS

Автор: admin от 9-08-2017, 15:55, посмотрело: 47

Сегодняшняя статья посвящена докладу про безопасность. Это рассказ Артёма ximaera Гавриченкова «Масштабируя TLS», который был представлен на Highload++ в ноябре 2016 года:





Слайды можно найти тут.



Disclaimer: про сертификаты и TLS только разбираемое выступление, а не сама статья.



Сюжет



Всегда приятно смотреть, как докладчик находит в какой-то общеупотребительной вещи подводные камни, которые вас, да-да, вот именно вас, запросто могут больно задеть. Это благодатные темы, заходят они обычно на ура. При этом человеку, который глубоко занимается тем, чем обычные люди просто пользуются, всегда есть чем шокировать публику.
->

Категория: Информационная безопасность » Криптография

 

ИТ на стадионе «Открытие Арена». Когда адреналина в проекте не меньше, чем во время матча

Автор: admin от 9-08-2017, 14:30, посмотрело: 44

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



ИТ на стадионе «Открытие Арена». Когда адреналина в проекте не меньше, чем во время матча


->

Категория: Системное администрирование, Сетевые технологии

 

Введение в октодеревья

Автор: admin от 9-08-2017, 13:35, посмотрело: 40

Введение в октодеревья


Что такое октодеревья? Если вам совершенно неизвестно это понятие, то рекомендую прочитать статью в Википедии (это займёт около пяти минут). Она даёт достаточное представление, но едва ли её будет достаточно, чтобы понять, для чего они используются и как их реализовать.



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

Категория: Программирование » Веб-разработка

 

Книга «Android. Программирование для профессионалов. 3-е издание»

Автор: admin от 9-08-2017, 11:40, посмотрело: 42

Книга «Android. Программирование для профессионалов. 3-е издание»
Третье издание познакомит вас с интегрированной средой Android Studio, которая сильно облегчает разработку приложений. Вы не только изучите основы программирования, но и узнаете о возможностях самых распространенных версий Android; новых инструментах, таких как макеты с ограничениями и связывание данных; модульном тестировании; средствах доступности; архитектурном стиле MVVM; локализации; новой системе разрешений времени выполнения. Все учебные приложения были спроектированы таким образом, чтобы продемонстрировать важные концепции и приемы программирования под Android и дать опыт их практического применения.



Под катом более подробно о книге и отрывок из книги «Множественные загрузки»
->

Категория: Веб-разработка, Android

 
Назад Вперед