Как стать автором
Обновить
1
0
Andrey @Sovigod

Пользователь

Отправить сообщение

Glusterfs + erasure coding: когда надо много, дешево и надежно

Время на прочтение8 мин
Количество просмотров14K
Гластер в России мало у кого есть, и любой опыт интересен. У нас он большой и промышленный и, судя по дискуссии в прошлом посте, востребованный. Я рассказывал о самом начале опыта переноса бекапов с Enterprise хранилища на Glusterfs.

Это недостаточно хардкорно. Мы не остановились и решили собрать что-то более серьёзное. Поэтому здесь речь пойдёт о таких вещах, как erasure coding, шардинг, ребалансировка и её троттлинг, нагрузочное тестирование и так далее.



  • Больше теории волюмы/сабволюмы
  • hot spare
  • heal / heal full / rebalance
  • Выводы после ребута 3 нод (никогда так не делайте)
  • Как влияет на нагрузку сабволюма запись с разной скоростью от разных ВМ и shard on/off
  • rebalance после вылета диска
  • fast rebalance

Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии17

Apple обновляет MacBook Pro

Время на прочтение1 мин
Количество просмотров31K


12 июля Apple выпустила новое поколение линейки MacBook Pro. Новинки получат процессоры Intel восьмого поколения: 6 ядер для пятнадцатидюймовой модели (прирост производительности до 70%), 4 ядра для тринадцатидюймовой (прирост производительности до 100%). Также они получат поддержку до 32 Гб оперативной памяти на пятнадцатидюймовой модели и больших SSD (до 2 Тб на 13", до 4 Тб на 15"), дисплей True Tone, улучшенную клавиатуру третьего поколения для более тихой печати (к сожалению, ничего не говорится о защите от пыли) и чип Apple T2, обеспечивающий безопасную загрузку, шифрование на лету и запуск Siri по фразе «Hey Siri».
Читать дальше →
Всего голосов 33: ↑27 и ↓6+21
Комментарии259

Небольшие трюки с Elasticsearch

Время на прочтение7 мин
Количество просмотров15K
Небольшая заметка, скорее для себя, о мелких трюках по восстановлению данных в Elasticsearch. Как починить красный индекс если нет бэкапа, что делать если удалил документы, а копии не осталось — к сожалению в официальной документации об этих возможностях умалчивают.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии5

RabbitMQ против Kafka: два разных подхода к обмену сообщениями

Время на прочтение18 мин
Количество просмотров324K

В прошлых двух статьях мы рассказывали об IIoT — индустриальном интернете вещей — строили архитектуру, чтобы принимать данные от сенсоров, паяли сами сенсоры. Краеугольным камнем архитектур IIoT да и вообще любых архитектур работающих с BigData является потоковая обработка данных. В ее основе лежит концепция передачи сообщений и очередей. Стандартом работы с рассылкой сообщений сейчас стала Apache Kafka. Однако, для того, чтобы разобраться в ее преимуществах (и понять ее недостатки) было бы хорошо разобраться в основах работы систем очередей в целом, механизмах их работы, шаблонах использования и основной функциональности.



Мы нашли отличную серию статей, которая сравнивает функциональность Apache Kafka и другого (незаслуженно игнорируемого) гиганта среди систем очередей — RabbitMQ. Эту серию статей мы перевели, снабдили своими комментариями и дополнили. Хотя серия и написана в декабре 2017 года, мир систем обмена сообщениями (и особенно Apache Kafka) меняется так быстро, что уже к лету 2018-го года некоторые вещи изменились.

Читать дальше →
Всего голосов 87: ↑82 и ↓5+77
Комментарии42

Спустя 6 лет вышла новая версия легендарного аварийного дистрибутива Hiren's BootCD

Время на прочтение4 мин
Количество просмотров161K


Сегодня праздник у железячников, ремонтников, сисадминов и эникейщиков!
После долгого забвения был возобновлен выпуск легендарного загрузочного диска Hiren's BootCD.

Hiren's BootCD (также известный как HBCD) представляет собой загрузочный образ с программным обеспечением для записи на CD\DVD\USB-flash, содержащий ряд диагностических утилит, таких как тесты производительности системы, программы для форматирования и разметки, средства клонирования и создания образов диска, инструменты для восстановления данных, инструменты для работы с MBR, инструменты прошивки и модификации BIOS и других средств для исправления различных компьютерных проблем.

На этот раз дистрибутив базируется на 64-разрядной Windows PE 10.0 и содержит только легальные для свободного распространения программы, при условии, что вы будете использовать HBCD исключительно в целях диагностики и устранения компьютерных неисправностей, а не в качестве основного ПО для компьютера.

Выпуском новых официальных версий занимается группа особо преданных фанатов дистрибутива, которым был передан доступ к официальному сайту (старая версия сайта до анонса новых версий), в то время как оригинальный автор давно отошел от дел.
Читать дальше →
Всего голосов 72: ↑70 и ↓2+68
Комментарии71

Так ли мал Alpine 3.8 Docker для Python 3 runtime

Время на прочтение8 мин
Количество просмотров30K
Совсем недавно произошёл релиз минималистичного Alpine Linux 3.8. Очень часто данный linux образ используют в докере, собирая очень компактные окружения для runtime.

Сегодняшняя статья будет рассмотрена в срезе использования runtime системы в докере для Python 3.6.X версий, с различным составом пакетов pip. А так же мы соберём самый новый Python 3.7 в Alpine.

В конце статьи будет представлен размер образа image, занимаемый на диске, в зависимости от состава пакетов pip и произведено сравнение между дистрибутивами Alpine 3.8, Debian 9, Fedora 28.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии13

BMW ConnectedDrive или «об этом можно долго рассказывать»

Время на прочтение20 мин
Количество просмотров86K
Если говорить про современные автомобили BMW, то на том же YouTube можно найти обзор любой из моделей — там расскажут всё про двигатель, внешний вид, удобства салона и даже про ездовые характеристики. Но есть одна тема, которую почти никогда не затрагивают, а если речь и заходит о ней, то очень поверхностно. «В следующем разделе меню находятся сервисы ConnectedDrive, об этом можно долго рассказывать» и множество других вариантов ухода от темы.



Наверное вы уже догадались, о чём пойдёт речь под катом? :)  
Всего голосов 97: ↑84 и ↓13+71
Комментарии227

Мультиподписи в сети Monero

Время на прочтение9 мин
Количество просмотров5.2K
Мы открываем цикл публикаций об устройстве различных блокчейнов и начнем исследования с монеро (Monero). Это достаточно известная криптовалюта, в ней реализован ряд интересных алгоритмических и криптографических решений. Несколько месяцев назад в Monero Core была добавлена поддержка мультиподписей, и в сегодняшней статье мы подробно рассмотрим эту технологию.

image

Мультиподписи – это механизм создания и использования кошельков общего доступа. Сама концепция не является новой, она уже реализована в некоторых криптовалютах, таких как Bitcoin, Ethereum и другие. Суть ее заключается в совместном владении и распоряжении средствами кошелька. На распоряжение средствами накладываются некоторые ограничения: для проведения транзакции необходимо набрать определенное количество голосов, которое задается при создании кошелька и зависит от числа его владельцев.

Эти параметры характеризуют так называемую «схему» кошелька, например, 3 / 3 – кошелек на троих владельцев с необходимыми тремя подписями для отправки транзакции, или 2 / 3 – кошелек на троих владельцев с необходимыми двумя подписями любых его владельцев. Следует отметить, что в мультисиг-кошельках (multisignature wallet) нет понятия «твоя доля» и «моя доля», все средства принадлежат всем участникам одновременно.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии2

Автоматическая сборка Unity-проектов для Android и iOS с помощью Gitlab CI

Время на прочтение14 мин
Количество просмотров14K

В этой статье хочу рассказать о подходе к сборке Unity-проектов на android и ios через Gitlab на собственных сборщиках с macOS.


Я работаю в небольшой gamedev компании, и задача автоматизации сборки появилась из-за следующих проблем:


  • 5 распределенных команд должны собирать проекты из любой точки мира
  • должны поддерживаться разные версии юнити
  • сборщик должен обеспечивать как минимум 5 сборок в неделю от каждой команды
  • сертификаты должны храниться централизованно, а не у разработчиков
  • собранные билды должны быть доступны по ссылке в любой точке мира
  • проекты должны проверяться на наличие обязательных библиотек (рекламные sdk и коды, локализация, сохранения)
  • конфигурирование сборки для команд должно производиться в одном месте
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии4

DevConf: перспективные базы данных для highload

Время на прочтение6 мин
Количество просмотров10K
DevConf 2018 уже на следующей неделе! В прошлом году Юрий Насретдинов провел интересный обзор перспективных систем хранения данных для highload. Видео с докладом доступно на странице доклада. А для хабра-читателей предлагаю краткий пересказ.

В начале расскажу как нужно подходить к выбору технологии для highload-проекта.

  • В первую очередь, должно быть понимание как оно работает. Не только сильные, но и слабые стороны.
  • Знание как это мониторить и бэкапить. Без хороших инструментов для этого, эту технологию рано использовать в продакшене.
  • Рано или поздно системы «падают»(это нормальная, штатная ситуация) и нужно знать что делать в этом случае.
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии3

DevConf: переход Uber с PostgreSQL на MySQL

Время на прочтение20 мин
Количество просмотров55K
18 мая 2018 года в Digital October состоится DevConf 2018. И мы решили пересказать некоторые интересные доклады с прошлогодней конференции. Там был доклад с несколько холиварным заголовком: "О чём молчит политрук: к дискуссии о переходе Uber с PostgreSQL на MySQL". В нем разработчик MySQL Алексей Копытов рассмотрел различия InnoDb и PostgreSQL на самом низком уровне, включая организацию данных, памяти и репликаций. Предлагаем вашему вниманию краткий пересказ доклада.


История вопроса


Uber перешел с MySQL на Postgres в 2013 году и причины, которые они перечисляют, были во-первых: PostGIS — это геоинформационное расширение для PostgreSQL и хайп. То есть, у PostgreSQL есть некий ореол серьезный, солидная СУБД, совершенный, без недостатков. По крайней мере, если сравнивать с MySQL. Они мало что знали о PostgreSQL, но повелись на весь этот хайп и перешли, а через 3 года пришлось переезжать обратно. И основные причины, если просуммировать их доклад — это плохие эксплуатационные характеристики при эксплуатации в production.
Читать дальше →
Всего голосов 103: ↑100 и ↓3+97
Комментарии124

Не защищайте сайт от скрапинга: сопротивление бесполезно

Время на прочтение9 мин
Количество просмотров36K
За последнее десятилетие я реализовал много проектов, связанных с агрегацией и анализом контента. Часто агрегация включает в себя снятие данных со сторонних сайтов, то есть скрапинг. Хотя я стараюсь избегать этого термина. Он превратился в некий ярлык, с которым связано много заблуждений. Основное заблуждение в том, что веб-скрапинг можно заблокировать с помощью X, Y, Z.

tl; dr; Нельзя.

С точки зрения бизнеса


На прошлой неделе я встретился с высокопоставленным руководителем из отрасли, в которой развиваю свой бизнес GO2CINEMA. Без сомнения, это один из самых умных и знающих людей в киноиндустрии.

Бизнес-модель GO2CINEMA основана на агрегировании из разных источников информации о расписании сеансов, свободных местах и стоимости билетов, а также выполнении запросов на покупку билетов на этих веб-сайтах от имени пользователя.

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

Да, тщательное исследование. Но всё-таки есть способы, чтобы тебя заблокировать. *ухмыляется*

Нет, парень, нет таких способов.
Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии206

Ищем причины тормозов БД, используя sys schema в MySQL 5.7

Время на прочтение3 мин
Количество просмотров15K
Есть у нас веб-приложение. Относительно большое и старое — много-много кода, в котором много-много разных запросов к базе данных. При этом мы не гугл, но несколько тысяч запросов в секунду на сервер БД приходится.

Ну и безусловно растёт наше приложение во все стороны — добавляются новые фичи, наворачиваются и усложняются старые, растёт количество клиентов и соответственно количество данных в БД. И в один не очень прекрасный момент приходит понимание, что что-то наше приложение тормозит. А значит надо или найти, что именно нагружает БД, хотя могло бы не нагружать, ну или если ничего такого нет, то взять ещё серверов побольше, да помощнее.

Стандартный совет как найти, что нагружает MySQL — включить slow-query-log и посмотреть, какие запросы будут туда попадать. Но в MySQL 5.7 по умолчанию присутствует куда лучший инструмент — sys schema, которая агрегирует данные из performance schema и позволяет их получить простыми запросами, буквально вида «Ok, MySQL, покажи мне топ запросов по максимальному суммарному времени выполнения»
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии3

Запускаем полноценный кластер на Kubernetes с нуля на Ubuntu 16.04

Время на прочтение8 мин
Количество просмотров63K
Уже довольно много написано статей, по установке и запуску Kubernetes, однако, не всё так гладко (я потратил несколько суток на запуск своего кластера).

Данная статья призвана дать исчерпывающую информацию не только по установке k8s, но и объяснить каждый шаг: зачем и почему мы делаем именно так, как написано (это очень важно для успешного запуска).

Что нужно знать


Серверы:
Кластер подразумевает, что у Вас более одного физического сервера, между которыми и будут распределятся ресурсы. Серверы называются нодами (nodes).

Диски:
Обычные харды в k8s не поддерживаются. Работа с дисками происходит по средствам распределенных файловых хранилищ. Это необходимо для того, чтобы k8s мог «перемещать» контейнеры docker на другие ноды в случае необходимости, без потери данных (файлов).

Начинать создание кластера нужно именно с создания своего распределенного файлового хранилища. Если вы уверены, что диски вам никогда не понадобятся, то этот шаг можно пропустить.
Я выбрал Ceph. А еще рекомендую почитать эту замечательную статью.

Минимальное разумное количество серверов для Ceph — 3 (можно построить и на одном, но в этом мало смысла из-за высокой вероятности потерять данные).

Сеть:
Нам понадобится Flannel — он позволяет организовать программно определяемую сеть (Software Defined Network, SDN). Именно SDN позволяет всем нашим контейнерам общаться с друг другом внутри кластера (установка Flannel производится вместе с k8s и описана ниже).

Подготовка серверов


В нашем примере мы используем 3 физических сервера. Установите Ubuntu 16.04 на все сервера. Не создавайте swap партиции (требование k8s).

Предусмотрите в каждом сервере как минимум один диск (или партицию) для Ceph.

Не включайте поддержку SELinux (в Ubuntu 16.04 он выключен по-умолчанию).

Мы назвали сервера так: kub01 kub02 kub03. Партиция sda2 на каждом сервере создана для Ceph (форматировать не обязательно).
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии43

Поиск работы в Чехии на собственном опыте

Время на прочтение5 мин
Количество просмотров64K
Добрый день, уважаемые хабрачитатели! В этой статье я бы хотел поделиться с вами своим опытом поиска работы в Чехии и рассказать о некоторых полезных сайтах, которые вам могут помочь в этом непростом деле. Кому интересно, прошу под кат.
Читать дальше →
Всего голосов 32: ↑26 и ↓6+20
Комментарии22

21 совет по эффективному использованию Composer

Время на прочтение9 мин
Количество просмотров26K

Хотя большинство PHP-разработчиков умеют пользоваться Composer, не все делают это эффективно или лучшим возможным образом. Поэтому я решил собрать советы, которые важны для моей повседневной работы. Большинство из них опираются на принцип «От греха подальше»: если что-то можно сделать несколькими способами, то я выбираю наименее рискованный.
Читать дальше →
Всего голосов 42: ↑38 и ↓4+34
Комментарии7

Развертывание сервера ElectrumX

Время на прочтение3 мин
Количество просмотров5.8K
В этой статье я расскажу как развернуть сервер ElectrumX для Emercoin под Ubuntu Server 16.04 LTS, который можно использовать, например, для работы приложений Emercoin Secure Wallet (iOS, Android, Linux, Windows, MacOS). Процесс развертывания ничем не отличается и для других поддерживаемых криптовалют (например, для Bitcoin), с той лишь разницей, что необходимо установить соответствующую ноду нужной криптовалюты и указать именно ее данные в конфиге сервера.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии3

Инопланетяне, постапокалипсис, Иисус и космические контрабандисты: самые интересные фантастические книги 2017

Время на прочтение6 мин
Количество просмотров31K

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

Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии77

Обнаружены критичные уязвимости в протоколе WPA2 — Key Reinstallation Attacks (KRACK)

Время на прочтение3 мин
Количество просмотров90K

 
Группа исследователей обнаружила серьезные недостатки в протоколе WPA2, обеспечивающем защиту всех современных Wi-Fi сетей. Злоумышленник, находящийся в зоне действия жертвы, может использовать эти недостатки, используя Key Reinstallation Attacks. Злоумышленники могут использовать этот новый метод атаки для чтения информации, которая ранее считалась зашифрованной.

UPD: пост обновлен частичными подробностями атаки и списком обновлений вендоров.
Всего голосов 92: ↑88 и ↓4+84
Комментарии151

Памятка евангелиста PostgreSQL: экспроприируем экспроприаторов

Время на прочтение12 мин
Количество просмотров8K

Привет, Хабр, давно не виделись! Со времени моих предыдущих публикаций в
серии «Памятка евангелиста PostgreSQL» (1, 2, 3) прошло довольно много времени, и многое изменилось. Вышли новые релизы MySQL и PostgreSQL с интересными фичами (хотя содержимое моих статей остаётся по большей части актуальным, я старался вносить мелкие обновления там, где это требовалось). В моду вошёл ко-маркетинг (с ко-франшизингом и местами даже ко-лизингом), когда доклады о PostgreSQL звучат на конференциях, посвящённых MySQL, и наоборот. Появились даже совместные доклады, где предпринимаются попытки объективного сравнения MySQL и PostgreSQL в тех или иных плоскостях. Отгремела история с Uber, с протяжённой по времени дискуссией, в которую я тоже внёс свой скромный вклад.


В целом, диалог между двумя проектами становится более содержательным. Я всё реже слышу страшилки и мифы, о которых я рассказывал в предыдущих статьях. Однако есть один устойчивый миф, который по-прежнему раскручивается сообществом PostgreSQL. Если быть точным, раскручивается он моей любимой компанией Postgres Professional – от представителей других компаний я пока такого не слышал. Это миф о «проприетарности» MySQL. В беседах руководство Postgres Professional демонстрирует какое-то дикое незнание матчасти и своеобразное толкование терминов. А значит пришло время дорогой редакции снова взобраться на броневичок!

Читать дальше →
Всего голосов 25: ↑17 и ↓8+9
Комментарии25

Информация

В рейтинге
Не участвует
Откуда
Praha, Hlavni Mesto Praha, Чехия
Дата рождения
Зарегистрирован
Активность