• События, процессы и сервисы: современный подход к автоматизации бизнес-процессов

    • Translation


    Краткое содержание


    • Использование событийной (event-driven) архитектуры для уменьшения связанности — весьма популярная идея при проектировании микросервисов.
    • Событийная бизнес-логика хорошо подходит для децентрализованных данных и решения проблем сквозной функциональности. Однако, не стоит выстраивать сложные цепочки по передаче событий из сервиса в сервис. Координация сервисов с помощью команд, а не событий — позволяет еще сильнее их развязать.
    • ESB (Enterprise Service Bus, в контексте статьи — "умная шина" — прим.перев.) плохо сочетается с микросервисной архитектурой. Предпочтительнее использовать простые каналы передачи данных и умных клиентов (smart endpoints, dumb pipes). Но, не отказывайтесь от сервиса-координатора других сервисов только лишь из опасений получить один богоподобный сервис: бизнес-логике все равно нужен дом.
    • Workflow engines прошлого были, в основном, вендоро-зависимы. Так называемые "zero-code" решения — на практике оборачивались сущим кошмаром для разработчиков. В настоящее время есть легковесные и простые средства управления workflow, многие из них — с открытым исходным кодом.
    • Не тратьте время на написание своих собственных конечных автоматов. Напротив, используйте готовые решения во избежание сложностей.
    Читать дальше →
    • +9
    • 11.3k
    • 1
  • Внутренние механизмы ТСР, влияющие на скорость загрузки: часть 2

    • Translation


    В первой части мы разобрали «тройное рукопожатие» TCP и некоторые технологии — TCP Fast Open, контроль потока и перегрузкой и масштабирование окна. Во второй части узнаем, что такое TCP Slow Start, как оптимизировать скорость передачи данных и увеличить начальное окно, а также соберем все рекомендации по оптимизации TCP/IP стека воедино.
    Читать дальше →
    • +14
    • 22.6k
    • 6
  • Лекции Технопарка. 3 семестр. Проектирование высоконагруженных систем

    • Tutorial


    И снова в эфире наша постоянная рубрика «Лекции Технопарка». На этот раз предлагаем вам ознакомиться с материалами курса «Проектирование высоконагруженных систем». Цель курса — получение студентами навыков проектирования высокоэффективных программных систем.
    Читать дальше →
    • +50
    • 66.9k
    • 5
  • История авторского права. Часть 3: Монополия умирает… и возрождается

    • Translation
    Продолжение. Первая часть — Чёрная смерть. Вторая часть — Кровавая Мэри.

    После того, как Кровавая Мэри ввела монополию на копирование книг, обеспечив власти возможность цензуры, ни книготорговцы, ни корона не испытывали желания что-либо менять. Идиллия длилась 138 лет.

    Монополия была учреждена Марией I в 1557 году, как механизм цензуры, предотвращающий распространение и обсуждение протестантской литературы. Её преемница, Елизавета I с удовольствием воспользовалась этой монополией уже для того, чтобы предотвращать распространение и обсуждение литературы католической.

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

    К сожалению, парламент вовсе не этого хотел добиться.
    Читать дальше →
    • +81
    • 40.8k
    • 8
  • Вы и ваша работа *

    • Translation
    Длинный материал. Время чтения – около 40 минут.

    image

    Доктор Ричард Хэмминг, профессор морской школы Монтерея в штате Калифорния и отставной учёный Bell Labs, прочёл 7 марта 1986 года очень интересную и стимулирующую лекцию «Вы и ваши исследования» переполненной аудитории примерно из 200 сотрудников и гостей Bellcore на семинаре в серии коллоквиумов в Bell Communications Research. Эта лекция описывает наблюдения Хэмминга в части вопроса «Почему так мало учёных делают значительный вклад в науку и так многие оказываются в долгосрочной перспективе забыты?». В течение своей более чем сорокалетней карьеры, тридцать лет которой прошли в Bell Laboratories, он сделал ряд прямых наблюдений, задавал учёным очень острые вопросы о том, что, как, откуда, почему они делали и что они делали, изучал жизни великих учёных и великие достижения, и вёл интроспекцию и изучал теории креативности. Эта лекция о том, что он узнал о свойствах отдельных учёных, их способностях, чертах, привычках работы, мироощущении и философии.
    Читать дальше →
  • Сети для самых маленьких. Часть девятая. Мультикаст

    • Tutorial

    Наш умозрительный провайдер linkmeup взрослеет и обрастает по-тихоньку всеми услугами обычных операторов связи. Теперь мы доросли до IPTV.
    Отсюда вытекает необходимость настройки мультикастовой маршрутизации и в первую очередь понимание того, что вообще такое мультикаст.
    Это первое отклонение от привычных нам принципов работы IP-сетей. Всё-таки парадигма многоадресной рассылки в корне отличается от тёплого лампового юникаста.
    Можно даже сказать, это в некоторой степени бросает вызов гибкости вашего разума в понимании новых подходов.

    В этой статье сосредоточимся на следующем:




    Читать дальше →
  • Когда я говорил…

      Когда я* говорил, что нужно вкладывать в сообщество и User Groups, вы вкладывали в теннисные столы. Теперь у нас много средненьких теннисистов и нет коммюнити.

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

      Когда я говорил вкладывать деньги в обучение специалистов, вы продолжали раздавать деньги за рекомендации. Теперь у нас никто не работает, а все рекомендуют.
      Читать дальше →
    • Как правильно мерять производительность диска

      • Tutorial
      abstract: разница между текущей производительностью и производительностью теоретической; latency и IOPS, понятие независимости дисковой нагрузки; подготовка тестирования; типовые параметры тестирования; практическое copypaste howto.

      Предупреждение: много букв, долго читать.

      Лирика



      Очень частой проблемой, является попытка понять «насколько быстрый сервер?» Среди всех тестов наиболее жалко выглядят попытки оценить производительность дисковой подсистемы. Вот ужасы, которые я видел в своей жизни:
      • научная публикация, в которой скорость кластерной FS оценивали с помощью dd (и включенным файловым кешем, то есть без опции direct)
      • использование bonnie++
      • использование iozone
      • использование пачки cp с измерениема времени выполнения
      • использование iometer с dynamo на 64-битных системах


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

      Как мерять правильно
    • Непрерывный мониторинг JVM с помощью Zabbix

        Предположим, у вас есть большое приложение написанное на Java. Это может быть web-сервлет размещенный в контейнере или standalone-сервис. В процессе разработки (да и во время эксплуатации) возникает необходимость отслеживать процессы, протекающие в JVM: работу garbage collector, использование памяти, жизненный цикл потоков, а так же иные специфичные для вашего проекта показатели посредством MBean. Самый простой вариант — использовать профилировщик. Но увы, проблемы не случаются по расписанию, и невозможно заранее знать, когда нужно подключить профилировщик, а держать его постоянно включенным тоже не вариант. В таких случаях идеальное решение — непрерывный мониторинг. О нем и пойдет речь. Но для начала пара слов о классической профилировке.
        Читать дальше →