Pull to refresh
76
0
Данил Загоскин @stolen

User

Send message

Кластерный сервис на Эрланге: от идеи до deb-пакета

Reading time 13 min
Views 13K

Задача


Нужно написать настоящий сервис на эрланге, который будет работать в кластере. Кроме того, нужно максимально упростить жизнь тем, кто будет обслуживать сервис.
Требования:
  • У сервиса будет RESTful интерфейс (это модно и современно)
  • основные настройки сервиса должны быть вынесены в маленький файл с понятным синтаксисом
  • сервис должен писать опциональный access-лог
  • сервис должен запускаться через upstart

Для простоты сервис будет представлять собой счетчик, который каждому клиенту выдает увеличивающееся с каждым запросом на 1 целое число (уникальное до перезапуска счетчика).

Технологии


Выберем все самое модное и современное:

Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Comments 22

Интернет в РФ будет несовместим с мировыми стандартами

Reading time 1 min
Views 855
Управление «К» предложило госдуме новый законопроект.

Согласно последним исследованиям, за последние 4 года каждое киберпреступление было совершено с использованием инкапсуляции. По результатам трудных дебатов Алексей Мошков принял решение, что на территории РФ необходимо законодательно запретить инкапсуляцию.
Читать дальше →
Total votes 68: ↑21 and ↓47 -26
Comments 8

Использование parse_transform

Reading time 7 min
Views 4.7K
Disclaimer: Описываемый инструмент имеет спорную репутацию. Я не призываю использовать его где ни попадя, только знакомлю с используемыми понятиями, дабы уменьшить некоторым трепет перед технологией.

Написанные исходники, а также текстовую копию статьи можно найти на гитхабе.

Что такое parse_transform


parse_transform — механизм изменения AST перед компиляцией. Предназначен для изменения значения конструкций (семантики), не выходя за синтаксис Эрланга.

К сожалению, в Сети мало информации про это, что делает порог вхождения весьма высоким для не-гуру эрланга.

Что мы будем делать


В рамках данной статьи я немного рассказажу про AST эрланга, приведу пример простых трансформаций, а так же покажу процесс написания parse_transform для создания stateless gen_server-а (задача имеет не особо много смысла, но в качестве примера использования сгодится), а в конце дам ссылку на набор начинающего транформатора.

Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 5

KIWI Image System: атака клонов

Reading time 14 min
Views 11K

⇒Введение


Когда у вас есть очень много одинаковых машин (кластер веб-серверов, куча терминалов оплаты, зал с публичными компьютерами), возникает вопрос о поддержании всех машин синхронизированными по версиям установленного ПО.
Традиционным решением является настройка репозиториев и регулярное обновление всех машин средствами пакетного менеджера. Не менее традиционным — сборка в одном месте и почти ручное раскладывание по всем машинам новой версии пакета.

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


А потом пришли фрукты и спасли мир
Total votes 46: ↑37 and ↓9 +28
Comments 24

Shorewall: файрволл для всех

Reading time 5 min
Views 38K
Внезапно оказалось, что Shoreline firewall совсем не освещен на Хабре, несмотря на то, что является крайне удобным инструментом (и весомым аргументом против pf в холиварах) для настройки файрволла под линуксом.

Просьба не холиварить на темы «Линукс — говно, у нас в OpenBSD круче», «А у меня Kerio WinRoute, а вы все неудачники» и подобные.
Статья для тех, кто выбрал Linux из каких-то соображений и не хочет тратить уйму времени на изучение iptables (а там есть, где запутаться).

Посему, под катом простыня
Читать дальше →
Total votes 62: ↑51 and ↓11 +40
Comments 57

POHMELFS: NFS по-новому

Reading time 3 min
Views 6.6K
Те, кто следил за обновлениями ядра, могли заметить, что в релиз 2.6.30 была добавлена поддержка POHMELFS.
Что же это такое — Похмельная файлуха?
Изучение окрестностей странички проекта позволило предположить, что разработку ФС ведет московский программист Евгений Поляков (и только он!), у которого на том же сайте есть немало других интересных проектов, таких, например, как порт CARP под Linux. В общем, сложилось впечатление, что программист на редкость грамотный и упорный.
Вернемся к PohmelFS. статья в Википедии подтверждает причастность похмелья к названию, которое для приличия расшифровывается как Parallel Optimized Host Message Exchange Layered File System. Документация на страничке проекта говорит о том, что в перспективе PohmelFS — распределенная ФС с избыточностью, контролем доступа и прочими прелестями, разрабатываемая так, чтобы не сильно отставать по производительности от локальных ФС. Этакая альтернатива разнообразным GFS, GlusterFS и прочим Coda. Но это все будет после интеграции проекта с двумя другими — DST и Elliptics. На текущий момент PohmelFS — это альтернатива старому недоброму NFS, почти всюду показывающая бо́ льшую производительность (пруфлинк).

под хабракатом процесс настройки на небольшом зоопарке
Читать дальше →
Total votes 39: ↑36 and ↓3 +33
Comments 86

TuxOnIce в *ubuntu 9.04

Reading time 3 min
Views 4.7K
Что такое TuxOnIce? Это проект, ранее называвшийся suspend2, пытающийся сделать быстрый и стабильный hibernate для Linux.
Что такое hibernate? Если вы не знаете, что это, то hibernate = спящий режим (Win XP) = гибернация (гыгы) (Vista). Это запись содержимого физической памяти на жесткий диск и полное выключение компьютера, после которого можно запустить систему и продолжить работу.
Подробнее о Tux On Ice можно почитать на официальном сайте

В этой статье я хочу рассказать, как заставить работать TuxOnIce на популярном ныне дистрибутиве Ubuntu (с его модификациями, естественно).
Надо заметить, что из коробки в Убунте работает hibernate (просто suspend-to-disk), при том достаточно стабильно. Тут описано, как вместо него начать использовать более фичастый TuxOnIce, основной профит от которого — ускорение процесса и возможность наблюдения за происходящим.

Читать дальше →
Total votes 36: ↑30 and ↓6 +24
Comments 63

Rambler ICQ vs. QIP Infium: сравнение клиентов

Reading time 4 min
Views 4.2K
QIP — говно. Неспособные настроить миранду просто неспособны ее настроить. Она того стоит.
Я не люблю QIP и не пытаюсь его пиарить. Суть статьи и обсуждения в том, что интерфейс ICQ6 плох, а не в том, что QIP хорош.
QIP хуже любого другого альтернативного клиента. Это мое мнение.


Предыстория.
Есть в кругу моих друзей один персонаж. Этот персонаж в качестве клиента Oscar по возможности использует официальный клиент ICQ. Объясняет он это тем, что всякие QIP, Miranda, etc. паразитируют на чужом протоколе. На вопрос о том, что же делать тому большинству, которое тошнит от интерфейса ICQ6, персонаж утверждает, что интерфейс у программы нормальный. На вопрос о потреблении ресурсов говорит, что QIP когда-то сжирал 2% CPU при нуле у ICQ. В один момент мне надоело бросаться словами, я запустил виртуалку, поставил там QIP Infium и Rambler ICQ (как два наиболее популярных в России клиента из расссматриваемых страниц) и прошу у проходящих мимо поддержки или критики.

История.
(Аккуратно, траффик)
Читать дальше →
Total votes 342: ↑217 and ↓125 +92
Comments 394

Аккуратно: новый вид спама

Reading time 1 min
Views 770
Мне сегодня пришло письмо с рекламой услуги от МТС. При том, что я пользуюсь другим оператором, такое явление насторожило. Найденный в заголовках IP отправителя принадлежал Чехии. Соответственно, было предупреждение о том, что отправитель не в SPF.
При ближайшем рассмотрении оказалось, что все ссылки в письме ведут не совсем туда, куда надо.
Читать дальше →
Total votes 22: ↑6 and ↓16 -10
Comments 20

SSH для частого использования

Reading time 2 min
Views 69K
Наверное, многие из читающих «Linux для всех» пользуются SSH. Я, например, администрирую большое количество UNIX-систем, и, чтобы быстро получить доступ к нужной машине, приходится использовать возможности протокола на уровне, отличном от примитивного.
Читать дальше →
Total votes 159: ↑145 and ↓14 +131
Comments 120

Легковесные браузеры

Reading time 3 min
Views 4K
Давайте отвлечемся от таких монстров веб-обозревания, как Firefox, Opera, IE и обратим внимание на несколько молодых проектов, основанных на библиотеке WebKit.
Для начала, пара слов о самом WebKit. Это движок, используемый для рендеринга страниц небезызвестным Safari. Когда-то он был форкнут от KHTML, движка Konqueror, доработан и использован в своих целях (надо сказать, с пафосом: один из аргументов в пользу Safari, по мнению Apple, было «Open-source rendering engine»), при этом часть исправлений и дополнений были внесены и обратно в KHTML. После этого WebKit получил свое нынешнее название (когда-то было WebCore) и теперь продолжает разрабатываться.
Замечательна эта библиотека тем, что по скорости обработки сравнима с Opera, построена, вслед за KHTML, основываясь на веб-стандартах, распространяется под лицензией LGPL-2 и уже успела себя зарекомендовать в Safari и встроенном браузере Symbian 9.
Читать дальше →
Total votes 26: ↑17 and ↓9 +8
Comments 23

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity