Как стать автором
Обновить
0
0

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

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

Consul.io Часть 2

Время на прочтение9 мин
Количество просмотров47K
В первой части мы подробно рассмотрели какие проблемы и задачи ставит перед нами распределенная архитектура приложения. Мы определили какие инструменты мы можем использовать для решения этих проблем и отметили важность реализации discovery на начальном этапе проекта. А также, выбрали Consul основным приложением на базе которого мы будем рассматривать реализацию discovery-сервиса.



В заключительной части мы рассмотрим как Consul работает с протоколом DNS, разберем основные запросы к HTTP API, посмотрим какие виды Health Checks мы можем использовать и, конечно, разберем для чего нужен K/V storage. И что самое важное, ближе познакомимся с некоторыми особенностями на практике.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии7

Consul.io Часть 1

Время на прочтение7 мин
Количество просмотров116K
При разработке приложений необходимо уделять особое внимание архитектуре. Если изначально этого не сделать, проблемы масштабирования могут появиться внезапно (а иногда могут не иметь решения). Масштабирование приложения и эффективное использование ресурсов на начальном этапе — это сэкономленные месяцы работы в дальнейшем.
Для предотвращения подобных проблем часто используют распределенную архитектуру, то есть архитектуру с возможностью горизонтального масштабирования всех компонентов. Но к сожалению, при реализации SOA возникают новые проблемы, а именно: связность и сложность конфигурации сервисов.



В данной статье мы расскажем об одном из discovery-сервисов под названием Consul, с помощью которого можно решить вышеизложенные проблемы и сделать архитектуру более прозрачной и понятной.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии8

Быстрое кодирование видео в Linux c Nvidia NVENC с SDK 7.5 и ffmpeg 3.0.2 на Nvidia GTX 960/970/980

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

Данная статья была написана по мотивам статьи Эффективное кодирование видео в Linux c Nvidia NVENC: часть 1, общая, однако имеет свои особенности и в отличие от оригинальной статьи, на момент написания которой не было выпущено патча, о котором пойдет речь дальше, я применил переработанный патч Nvidia Acceleration к FFmpeg 3.0.2, получив помимо энкодера nvenc еще и быстрый фильтр ресайза — nvresize.

В итого я получил возможность аппаратно кодировать видео в H.264 и HEVC при помощи видеокарты Nvidia GTX 960 на достаточно слабом компьютере (Xeon L5420) со скоростью (для H.264), превышающей возможности данного процессора до 10 раз (и в 3 раза относительно Core i7)! Причем на моем любимом Debian 8 Jessie.

Итак, начнем!
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии57

Загрузочный сервер — как загрузочная флешка, только сервер и по сети

Время на прочтение12 мин
Количество просмотров451K
Загрузочная флешка с набором нужного софта — замечательный инструмент системного администратора. Казалось бы, что может быть лучше? А лучше может быть загрузочный сервер!

Представьте, вы выбрали в BIOS загрузку по сети и можете установить ОС/вылечить компьютер от вирусов/реанимировать диски/протестировать ОЗУ/etc с PXE Boot сервера, ведь это куда удобнее, нежели бегать с флешкой от машины к машине.
А в случае большого компьютерного парка, такой инструмент и вовсе незаменим.

Вот такое меню встречает нашу команду инженеров при загрузке с PXE



Под катом вас ждет описание всех настроек, а так же небольшой сюрприз.
Поехали!
Всего голосов 141: ↑138 и ↓3+135
Комментарии82

Ресурсы для дизайнеров и front-end-разработчиков

Время на прочтение5 мин
Количество просмотров64K
Ниже представлена подборка инструментов для дизайнеров и front-end-разработчиков. Мы настоятельно рекомендуем вам просмотреть их все. Надеемся, что вы найдете для себя что-то полезное.

Читать дальше →
Всего голосов 41: ↑30 и ↓11+19
Комментарии7

Полезные сниппеты для Nginx конфигов

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


Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.

Читать дальше →
Всего голосов 94: ↑91 и ↓3+88
Комментарии44

JavaScript и Nginx = nginScript, а HTTP2 в придачу

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

Дело было вечером, делать было нечего, но голова рукам покоя не давала и хотелось чего-то для души… А для души захотелось чего-то новенького, эдакого необычного.

Я, как и многие из хабровчан, люблю новинки. Релиз нового софта — это как праздник. Новые фичи, новые возможности… Новые способы забивать гвозди и кататься на велосипедах. Новые велосипеды… В общем можно придумать кучу аллегорий и метафор. А про что это я? Ах да, про Nginx, HTTP2 и JavaScript. Чем они связаны, спросите вы? А тем, что в последней версии Nginx (1.9.5) добавили много интересных плюшек, а именно:

  • добавили протокол HTTP2 и удалили модуль SPDY (нафиг старое барахло)
  • интегрировали прямо в nginx модуль ngx_http_js_module и создали свой диалект JavaScript

Го под кат, расскажу детали.
Читать дальше →
Всего голосов 52: ↑45 и ↓7+38
Комментарии57

Видеозвонки через браузер — как заставить технологию работать на свою компанию

Время на прочтение7 мин
Количество просмотров33K
Ну очень интересно было разобраться, как совершать видеозвонки через браузер внутри компании и насколько это полезно. Тем более, что skype — «прослушивается» и пересылаемые пароли парсятся роботами…

Вроде есть Google+ Hangouts и им нередко пользуются — но это все таки не WebRTC и проприетарная облачная технология. Кто знает — не просматривают ли наше совещание по бизнес-планированию коллеги из другой компании-конкурента с блокнотами и неподдельными улыбками на сияющих лицах?

В общем, согласитесь, тема своих, приватных надежных видеопереговоров внутри компании — актуальна как никогда. Многим это нужно, но как организовать-то? У нас — получилось. Это можно сделать достаточно просто, если знать как :-) (изучив десяток RFC, стандартов w3c и их реализаций и докопавшись до причин).

Ниже я постараюсь провести по основным технологическим рискам реализации, на которые пришлось наступить нам и придется наступить скорее всего и вам — а на закуску: краткая технологическая выжимка и бизнесовый TODO, без взрывающих мозг ненужных деталей.
Читать дальше →
Всего голосов 52: ↑43 и ↓9+34
Комментарии18

Стань повелителем загрузки Linux

Время на прочтение24 мин
Количество просмотров91K
Сначала мы познакомимся с udev и научимся с его помощью исследовать установленные в компьютере устройства прямо во время загрузки: в качестве примера будем автоматически выбирать настройки видеокарт для Xorg. Затем решим задачу работы с одним образом на десятках компьютеров одновременно путём внедрения собственного обработчика в initramfs, а заодно оптимизируем систему для сетевой загрузки. Чтобы дополнительно уменьшить время загрузки и снизить нагрузку на сеть попробуем NFS заменить на NBD, и помочь TFTP с помощью HTTP. В конце вернёмся в начало — к загрузочному серверу, который также переведём в режим «только для чтения».



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

Начало смотрите здесь:
Первоначальная настройка сервера
Подготовка образа для загрузки по сети
Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии13

Сети для самых маленьких

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


На хабре уже была попытка пользователя zepps начать серию публикаций о настройке оборудования cisco и практической стороне сетевых технологий, но, к сожалению, на первых двух статьях дело остановилось. Это было время моего становления, как специалиста в этой области и zepps сурово обломил меня отсутсвием продолжения.
Многократно пользователи здесь публиковали отрывочные топики о теоретической составляющей, решение сложных задач, куски из википедии или xgu.ru, но более менее цельной серии с информацией, которая непонятна после чтения цисковских книг при отсутсвии практики таки не было.
Поэтому мне пришло в голову снять несколько обучающих роликов с подробным описанием, начиная с настройки VLAN на свитчах, заканчивая… пока не знаю, чем заканчивая (может, OSPF, BGP, а может и чуточку дальше). Теории будет немного, в основном практика на PacketTracer и GNS3, с перечислением более или мене часто встречающихся трудностей.
Читать дальше →
Всего голосов 32: ↑17 и ↓15+2
Комментарии17

Файловая система Linux полностью на tmpfs — скорость без компромиссов

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

Предыстория


Так сложилось, что уже пять лет мой раздел ntfs с операционной системой Windows располагается на рамдиске. Решено это не аппаратным, а чисто программным способом, доступным на любом ПК с достаточным количеством оперативной памяти: рамдиск создается средствами загрузчика grub4dos, а Windows распознаёт его при помощи драйвера firadisk.

Однако до недавнего времени мне не был известен способ, как реализовать подобное для Linux. Нет, безусловно, существует огромное количество линуксовых LiveCD, загружающихся в память при помощи опций ядра toram, copy2ram и т. д., однако это не совсем то. Во-первых, это сжатые файловые системы, обычно squashfs, поэтому любое чтение с них сопровождается накладными расходами на распаковку, что вредит производительности. Во-вторых, это достаточно сложная каскадная система монтирования (так как squashfs — рид-онли система, а для функционирования ОС нужна запись), а мне хотелось по возможности простого способа, которым можно «вот так взять и превратить» любой установленный на жесткий диск Linux в загружаемый целиком в RAM.

Ниже я опишу такой способ, который был с успехом опробован. Для опытов был взят самый заслуженный дистрибутив Linux — Debian.
Читать дальше →
Всего голосов 83: ↑74 и ↓9+65
Комментарии167

Внедрение Enhanced Write Filter (EWF)

Время на прочтение5 мин
Количество просмотров72K
Расширенный фильтр записи (Enhanced Write Filter, EWF) — это дополнительный компонент, использующийся в Windows Embedded. EWF делает дисковый том доступным только для чтения. При этом операции записи, которые выполняются с данными, хранящимися на этом дисковом томе, перенаправляются в его наложение, которое может находиться на другом диске или в памяти компьютера. Windows рассматривает наложение EWF и его дисковый том как единое устройство. При этом фактически на дисковом томе не происходит изменений. Все изменения сохраняются только в наложении EWF. Изменения можно сохранить на дисковый том в любой момент времени.
Читать дальше →
Всего голосов 49: ↑45 и ↓4+41
Комментарии17

Видеоплеер на базе ffmpeg

Время на прочтение8 мин
Количество просмотров63K
Привет, Хабр!

В этой статье речь пойдет о разработке простейшего плеера с использованием библиотек из проекта FFmpeg.
Я не нашел на хабре статей на данную тематику, поэтому решил восполнить этот пробел.
Декодирование видео будет осуществляться с помощью библиотек FFmpeg, отображение — с помощью SDL.

Читать дальше →
Всего голосов 45: ↑40 и ↓5+35
Комментарии19

Доработка видеоплеера ffmpeg

Время на прочтение9 мин
Количество просмотров32K
В предыдущей статье были рассмотрены основные компоненты ffmpeg и на их основе построен простейший плеер для воспроизведения видео со скоростью декодирования, без синхронизации.
В этой статье мы рассмотрим как добавить воспроизведение звука и разберемся с синхронизацией.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии12

Выразительный JavaScript: JavaScript и браузер

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

Содержание




Браузер – крайне враждебная программная среда

Дуглас Крокфорд, «Язык программирования JavaScript» (видеолекция)


Следующая часть книги расскажет о веб-браузерах. Без них не было бы JavaScript. А если бы и был, никто бы не обратил на него внимания.

Технологии веба с самого начала были децентрализованными – не только технически, но и с точки зрения их эволюции. Различные разработчики браузеров добавляли новую функциональность «по случаю», непродуманно, и часто эта функциональность обретала поддержку в других браузерах и становилась стандартом.

Это и благословление и проклятие. С одной стороны, здорово не иметь контролирующего центра, чтобы технология развивалась различными сторонами, иногда сотрудничающими, иногда конкурирующими. С другой – бессистемное развитие языка привело к тому, что результат не является ярким примером внутренней согласованности. Некоторые части привносят путаницу и беспорядок.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии4

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность