Pull to refresh
1
0
Алексей Быстров @triple0zero

Сетевой инженер

Send message

Java-сериализация: максимум скорости без жёсткой структуры данных

Reading time12 min
Views24K
Наша команда в Сбербанке занимается разработкой сервиса сессионных данных, который организует взаимообмен единым Java-контекстом сессии между распределёнными приложениями. Наш сервис крайне нуждается в очень быстрой сериализации Java-объектов, поскольку это часть нашей mission critical задачи. Изначально нам на ум приходили: Google Protocol Buffers, Apache Thrift, Apache Avro, CBOR и др. Первая тройка из перечисленных библиотек требует для сериализации объектов описания схемы их данных. CBOR такой низкоуровневый, что умеет сериализовывать только скалярные значения и их наборы. Нам же была нужна библиотека Java-сериализации, «не задающая лишних вопросов» и не заставляющая вручную разбирать сериализуемые объекты «на атомы». Мы хотели сериализовывать произвольные Java-объекты, не зная о них практически ничего, и хотели делать это максимально быстро. Поэтому мы устроили соревнование для имеющихся Open Source решений задачи Java-сериализации.

КДПВ
Кто же участвовал в соревновании?
Total votes 40: ↑39 and ↓1+38
Comments67

Ansible: тестируем плейбуки (часть 1)

Reading time8 min
Views33K


Думаю, любой системный администратор, использующий Ansible для управления своим зоопарком серверов задавался вопросом о проверке корректности описания конфигурации своих серверов. Как же не бояться вносить изменения в конфигурации серверов?
В серии статей, посвященных DevOps, мы расскажем об этом.

Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments17

Пряморукий DNS: делаем правильно

Reading time16 min
Views147K
Представляем вашему вниманию очень эмоциональный рассказ Льва Николаева (@maniaque) о том, как надо настраивать DNS и особенно, как делать не надо. Вот прямо после каждого пункта можете мысленно добавлять: «Пожалуйста, не делайте этого!» В своем докладе Лев так и говорит.

Статья будет состоять из трех частей:

1. Как сделать резольвер (unbound, bind)

Резольвер — это та штука, которую вы прописываете в настройках своей операционной системы, чтобы можно было превращать понятные человеку адреса типа ya.ru в непонятное 87.250.250.242.

2. Как держать зоны (PowerDNS)

Если вы уже доросли до этого, расскажем, как держать зону самостоятельно, как это делать хорошо и отказоустойчиво, и как это делать, если у вас несколько сотен доменов.

3. Как взболтать, но не смешивать (PowerDNS + unbound)


Total votes 45: ↑43 and ↓2+41
Comments38

Знакомство с возможностями свитч-процессора Realtek RTL 8332M

Reading time6 min
Views29K


Мы продолжаем серию публикаций об электронных компонентах тайваньской компании Realtek, которые можно использовать для разработки мультимедийной и сетевой электроники.

На днях в нашем распоряжении оказалась демо-плата многопортового коммутатора RTL_8332M_DDR3_DEMO_P2L_V1.0 на базе свитч-процессора Realtek 8332M, а также фирменный комплект средств разработки. Под катом мы расскажем, что собой представляет эта плата, опишем процесс сборки и загрузки прошивки на основе Realtek SDK, а также протестируем пропускную способность полученного коммутатора с проверкой работоспособности QoS.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments15

Искусственный рассвет

Reading time9 min
Views232K
Началось всё год назад. Перед Новым 2014 годом несколько пришел в упадок жизненный тонус. Процесс самокопания привел к следующей мысли:



— А, что ж так темно-то, Господи? © День радио.

Впрочем, для человека, живущего зимой по летнему времени — мысль вполне естественная.
Что же делать?
Total votes 187: ↑185 and ↓2+183
Comments87

Писать скрипты для Mikrotik RouterOS — это просто

Reading time6 min
Views218K
RouterOS — сетевая операционная система на базе Linux. Данная операционная система предназначена для установки на аппаратные маршрутизаторы Mikrotik RouterBoard. Также данная система может быть установлена на ПК (или виртуальную машину), превращая его в маршрутизатор. Изначально довольно богатая функционалом ОС нет нет да и удивит отсутствием какой-нибудь нужной фишки из коробки. К сожалению, доступ к Linux-окружению очень сильно ограничен, поэтому, «это есть под Linux» абсолютно не равнозначно «это есть в RouterOS». Но не надо отчаиваться! Эта система предоставляет несколько возможностей для расширения своего функционала. Первая — самая простая и нативная — это возможность писать скрипты на встроенном языке.
В данной статье, в качестве примера будет рассмотрен скрипт, преобразующий DNS-имена в списки IP-адресов (address lists).
Зачем он может быть нужен? Многие сайты используют Round Robin DNS для распределения нагрузки (а некоторые и не только для этого). Чтобы управлять доступом к такому сайту (создать правило маршрутизации или фаервола) нам потребуются все IP-адреса, соответствующие этому доменному имени. Более того список IP-адресов по истечении времени жизни данной DNS-записи (в данном случае речь идёт об A-записи) может быть выдан абсолютно новый, поэтому информацию придётся периодически обновлять. К сожалению в RouterOS нельзя создать правило
блокировать все TCP соединения на порт 80 по адресу example.com
на месте example.com должен быть IP-адрес, но как мы уже поняли, example.com соответствует не один, а несколько IP-адресов. Чтобы избавить нас от мучения создания и поддержки кучи однотипных правил, разработчики RouterOS дали возможность создавать правило так:
блокировать все TCP соединения на порт 80 по любому адресу из списка с именем DenyThis
Дело осталось за малым — автоматически формировать этот самый список. Кто ещё не утомился от моей писанины приглашаю под хабракат.
Читать дальше →
Total votes 29: ↑20 and ↓9+11
Comments67

Заземление. Что это такое и как его сделать (часть 2)

Reading time12 min
Views136K


1 часть. Заземление
(общая информация, термины и определения)


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


3 часть. Современные способы строительства заземляющих устройств
(описание, расчёт, монтаж)



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


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

Г. Основные способы строительства

Г1. Несколько коротких электродов (“уголок и кувалда”)
Г1.1. Особенности решения
Г1.1.1. Промерзание грунта зимой
Г1.1.2. Взаимное “экранирование”/ “затенение” электродов
Г1.2. Расчёт получаемого сопротивления заземления и необходимого количества заземляющих электродов
Г1.3. Монтаж
Г1.4. Достоинства и недостатки
Г1.5. Уменьшение количества электродов
Г2. Одиночный глубинный электрод (“обсадная труба”)
Г2.1. Особенность решения
Г2.2. Расчёт получаемого сопротивления заземления
Г2.3. Монтаж
Г2.4. Достоинства и недостатки


Г. Основные способы строительства


Напомню, в прошлой части я остановился на общем подходе…
Читать дальше →
Total votes 65: ↑64 and ↓1+63
Comments30

Заземление. Что это такое и как его сделать (часть 1)

Reading time12 min
Views579K


Мой рассказ будет состоять из трёх частей.

1 часть. Заземление
(общая информация, термины и определения)


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


3 часть. Современные способы строительства заземляющих устройств
(описание, расчёт, монтаж)


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

Если читатель обладает теоретическими знаниями и интересуется только практической реализацией — ему лучше пропустить первую часть и начать чтение со второй части.

Если читатель обладает необходимыми знаниями и хочет познакомиться только с новинками — лучше пропустить первые две части и сразу перейти к чтению третьей.

Мой взгляд на описанные методы и решения в какой-то степени однобокий. Прошу читателя понимать, что я не выдвигаю свой материал за всеобъемлющий объективный труд и выражаю в нём свою точку зрения, свой опыт.

Некоторая часть текста является компромиссом между точностью и желанием объяснить “человеческим языком”, поэтому допущены упрощения, могущие “резать слух” технически подкованного читателя.

Читать дальше →
Total votes 199: ↑183 and ↓16+167
Comments217

Медицина будущего. Взгляд программиста

Reading time5 min
Views9.5K
Доброе утро. В силу разных причин часто сталкиваюсь с медработниками и учреждениями здравоохранения. Так вот в век высоких технологий меня очень удивляет, что большая часть информации находится на бумаге. Причем, если лечишься у разных врачей в разных клиниках, это начинает еще больше доставлять неудобства, ведь каждый врач хочет знать полную картину болезней, от которых меня лечили. Вот и носишь с собой эти кипы бумаг. Отдельная тема здесь это получение справок. Ну думаю многие были в очередях.

Так вот сегодня прочитал пост "Медицина: электронные истории болезней — взгляд со стороны врача" и решил поделиться своими соображениями как программиста на возможный вариант реализации подобной системы.

Читать дальше →
Total votes 39: ↑35 and ↓4+31
Comments84

Онлайн-концерт в облаках

Reading time6 min
Views3.9K
Ресурс Appleinsider.ru запускает новый, не имеющий аналогов в российском интернет-сегменте проект по онлайн-трансляции живых выступлений как молодых музыкальных коллективов, так и именитых музыкантов. Периодичность мероприятия — около 2-х трансляций в месяц.

Первопроходцами 6 декабря стали Федор Чистяков & F4BAND (экс-солист группы НОЛЬ). Во время прямого эфира было около 300 человек, которые смогли оценить чистый студийный звук и атмосферу живого концерта.

Для этой трансляции компания Clodo выделила нам свои мощности и канал шириной 500 мегабит/секунду. Для довольно качественного битрейта потока в 128 килобит/сек это означало 4000 клиентов «в вакууме». Мы предполагали, что придет до 2000 слушателей и перестраховались, однако на этот раз не удалось достичь договоренности с партнерами и наши оценки аудитории оказались сильно заниженными. Попытка привести заинтересованный народ с хабра закончилась баном хабратоварища Dudlik.

Тем не менее, нам довольно успешно удалось провести концерт. Вкратце о технической реализации — мы использовали программу Icecast2 на нескольких серверах, с балансировкой нагрузки с помощью самописного bash-скрипта. Подробнее под катом.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments12

Рубин на рельсах: продакшен и деплой для чайников

Reading time13 min
Views32K
Год назад я довел свое первое рельсовое приложение до приемлемого вида. Вопрос использования готового кода в продакшене ранее меня не заинтересовал. С чего вдруг? Несложный язык, лаконичный фреймворк — уж деплой-то явно не сложнее, чем преодоление ментального тормоза после PHP.

Команда разработчиков Rails рекомендует использовать Phusion Passenger, он что-то вроде mod_php — установил, разместил файлы и полетел. На момент изучения вопроса на форумах хватало баталий о производительности решений; Passenger в них фаворитом не значился.

Совета относительно альтернативы я спросил у техдиректора сайта с миллионом уников в сутки — тот отправил меня гуглить на тему Nginx и Unicorn. Инструкция по настройке продакшена, найденная на Хабре, датировалась 2009 годом. Помимо прочего, ее просто переполняли изъяны уроков «Как нарисовать сову».

Отдельные составляющие процесса кое-где разжеваны по-английский, но монолитный tutorial на глаза так и не попался. В традициях рельсового сообщества лежит принцип, предписывающий делиться результатами и опытом решения проблем.
Делюсь
Total votes 38: ↑30 and ↓8+22
Comments81

Настройка OpenVPN в связке Mikrotik/Ubuntu

Reading time3 min
Views180K
В любой компании, где существует более одного офиса, рано или поздно возникает необходимость в объединении этих самых офисов. Многие провайдеры предлагают такие услуги, но попросят за это денег, да и кто знает, что там творится на стороне провайдера? Поэтому сделаем все сами, и рассмотрим вариант объединения с помощью Mikrotik RB750, Ubuntu и OpenVPN.

image
Читать дальше →
Total votes 46: ↑36 and ↓10+26
Comments28

На Coursera вышел курс от нобелевского лауреата с русским дубляжом

Reading time2 min
Views89K
Недавно на Coursera произошло примечательное событие — вышла дублированная версия курса «Финансовые Рынки» (Financial Markets) о самых азах финансов.

image

И примечательно оно потому как раньше дублированных курсов на платформе не существовало, а первый появился именно на русском языке. Во-вторых, сделано это было на частное пожертвование. И в-третьих, курс прочитал профессор Йельского университета, нобелевский лауреат по экономике 2013 года – Роберт Шиллер.
Читать дальше →
Total votes 77: ↑76 and ↓1+75
Comments39

Охотники на волков с Wall Street. Часть 3

Reading time6 min
Views20K

Изображение: Mark Finn — Unsplash

В первых двух частях нашей дискусси (1, 2) вокруг книги Майкла Льюиса «Высокочастотная революция на Уолл-стрит» мы обсудили отдельные моменты из главы о том, как трейдер из достаточно консервативного канадского банка начал работать на Wall Street. В ходе своего карьерного роста он добился ежегодного оклада в полтора миллиона долларов и возглавил крупный отдел из двадцати специалистов, но дальше все пошло не так гладко, как хотелось бы.
Читать дальше →
Total votes 40: ↑34 and ↓6+28
Comments8

Google Chrome — убираем рутину с помощью кастомного поиска

Reading time1 min
Views61K
Disclaimer: речь — о давно существующей функции, но, судя по комментам на Хабре, недооцененной, поэтому решил все-таки написать.

Google Chrome позволяет очень сильно ускорить рутинные задачи, связанные с различным поиском. используя адресную строку.

Например:


Как настроить?
Total votes 120: ↑108 and ↓12+96
Comments73

Контроллер Wi-Fi точек доступа на Mikrotik

Reading time5 min
Views196K

Введение


В последней версии операционной системы Mikrotik RouterOS под номером 6.11 была добавлена экспериментальная функция, позволяющая использовать роутер на этой платформе в качестве контроллера Wi-Fi точек доступа. К сожалению, так как данный функционал только что появился и находится в статусе бэта, информация о нём ограничевается довольно скучной статьёй на в Wiki-справочнике Mikrotik'а. Пошаговой инструкции по настройке мне найти не удалось, поэтому, решено было попытаться всё настроить методом научного тыка. В данном посте я рассматриваю простую настройку контроллера (не углубляясь в дебри настроек, коих очень много) обеспечивающую следующую конфигурацию (по сути, аналогичную той, что была бы настроена на простом SOHO-роутере уровня D-Link DIR-620 с родной прошивкой, и используемую в домашних условиях):

  • Два Wi-Fi роутера Mikrotik RouterBoard
    • Routerboard RB951G-2HnD — основной, является контроллером Wi-Fi, точкой доступа, маршрутизатором, DHCP- и DNS-сервером. Далее буду именовать его контроллером
    • Routerboard RB951Ui-2HnD — дополнительный, является только точкой доступа Wi-Fi и свитчём на 3 порта (POE in и out порты не включены в свитч и зарезервированы на будущее). Далее буду именовать его точкой доступа или точкой
  • WPA/WPA2-PSK аутентификация с AES-шифрованием
  • Строго определённый канал, с шириной 20МГц
  • Единственный SSID, не скрытый
  • Клиенты не изолированны друг от друга и проводной сети (действительно, зачем это дома?)

Заинтересовавшимся, предлагаю продолжить чтение под катом. Внимание, трафик!
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments22

Mikrotik + IPSec + Cisco = Мир, Дружба, Жвачка

Reading time5 min
Views136K

Техническая задача: организовать ipip-тоннель между офисами, с шифрованием ipsec, при помощи Mikrotik RB450G и Cisco 2821.


Ньюансы

  • последняя версия софта на микроте (5.20)
  • тип тоннеля на циске IPIP
  • тип трансформы «transport», вместо «tunnel»

Исходные данные

  • Cisco 2821 (OS v12.4)
  • 2. Mikrotik RB450G
  • 3. Реальные внешние IP на обоих устройствах
  • 4. Адрес циски: 77.77.77.226. Подсеть со стороны циски: 10.192.0.0/22
  • 5. Адрес микротика: 88.88.88.2. Подсеть со стороны микротика: 192.168.88.0/24

Предыстория

Столкнулся по работе с необходимостью замены серверов в наших филиалах, на что-нибудь более надёжное, аппаратное.
Связь у нас с центральным офисом осуществляется через тонели с шифрованием ipsec. В центральном офисе у нас, собственно всё на кошкообразных построено, а в большинстве филиалов стоят обычные сервера под FreeBSD, которые цепляются тонелями, с помощью racoon.
Встала задача, в связи с устареванием, выходом из строя самих серверов, начать устанавливать простые, недорогие аппаратные решения.

Братья по-разуму, коллеги и форумы натолкнули меня на изделия Mikrotik, и сразу же я направил к ним письмо следующего содержания:
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments29

Multicast routing для IPTV

Reading time8 min
Views219K
Один очень близкий мне человек, поклонник Хабра, захотел внести вклад в развитие блога Cisco. Являясь яростным поклонником того, что создает эта корпорация, он захотел поделиться опытом. =) Надеемся росчерк пера удался.

Относительно недавно мне посчастливилось познакомить и даже поконфигурять multicast routing для IPTV. Изначально, я с этой темой была совершенно не знакома, и это заставило меня вылакать горлышко от цистерны водки перекопать огромное количество документации, чтобы войти в курс дела.

И вот незадача. Обычно в документации выкладывают все и сразу и для человека, впервые столкнувшегося с этой темой, не понятно с чего начать. Во время чтения pdf’ок я ловила себя на мысли, что было бы неплохо наткнуться где-нибудь на статью, которая могла бы коротким путем провести от теории к практике, чтобы понять с чего стоит начать и где заострить внимание.

Мне не удалось обнаружить такую статью. Это побудило меня написать эту статейку для тех, кто также как и я столкнется с вопросом, что это за зверь IPTV и как с ним бороться.
Я хочу смотреть IPTV
Total votes 52: ↑48 and ↓4+44
Comments51

IPv6 теория и практика: введение в IPv6

Reading time7 min
Views136K
Этой статьёй я хочу начать цикл, посвященный IPv6. Я являюсь инструктором академии Cisco, поэтому, если вы в совершенстве знаете материал нового CCNA Routing & Switching, то скорее всего, не найдёте в цикле ничего нового. Речь пойдёт о структуре и особенностях протокола IPv6, а также, применении его на маршрутизаторах Cisco (маршрутизация RIP, OSPF, EIGRP, списки контроля доступа, и др. – как пойдёт). В первой статье мы поговорим о структуре IPv6 пакета, записи адресов, префиксе. Вторая статья цикла доступна здесь. Информация подойдёт для новичков, имеющих, тем не менее, некоторые знания по IPv4 и модели OSI.
Цикл статей основан на материалах моего блога, которые, в свою очередь, основаны на опыте преподавания, работы с оборудованием и вольном переводе и обдумывании официального курса CCNA Routing & Switching.
Итак, начнём. Не буду останавливаться на стандартных рассуждениях о том, что IPv4 адресов мало, о том, что NAT и прокси – это костыли, о том, что костыли пока работают, и никто не хочет переходить на IPv6, вместо этого – сразу к сути.
Читать дальше →
Total votes 39: ↑35 and ↓4+31
Comments42

Шаблон базовой настройки маршрутизатора Cisco

Reading time3 min
Views452K
В последнее время приходится часто настраивать с нуля маршрутизаторы Cisco (в основном 800-1800 серии) для филиалов моей компании и дабы не набирать одни и теже команды третий десяток раз составил для себя небольшой шаблон настроек на разные случаи жизни. Сразу скажу что сертификаты от Cisco не получал, книжек по данным роутерам особо не читал, весь свой опыт приобрел методом научного тыка, курением мануалов на cisco.com и кое каким вдумчивым заимствованием кусков чужих конфигов…
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments47

Information

Rating
Does not participate
Location
Рязань, Рязанская обл., Россия
Date of birth
Registered
Activity