• Повышаем информативность ошибок в Go – github.com/ztrue/tracerr

      После многолетнего опыта работы с php и js, я привык иметь в ошибках стектрейс и смотреть на место, где произошла ошибка прямо из эррор-репорта. Пересев на Go пару лет назад, я был несколько удивлен, что в Go другие правила и нужно угадывать стектрейс по какой-нибудь строке типа `invalid character`. А если она произошла на проде и не известно, как ее воспроизвести, то это превращалось в целый аттракцион.

      Поскольку я уверен, что не один от этого страдал, то сделал пакет, который умеет так:

      golang error output

      GitHub
      Читать дальше →
    • Оптимизация обработки сообщений RabbitMQ

        В рамках рабочих задач недавно мною было проведено небольшое исследование на тему целесообразности использования опции prefetchCount при работе с брокером сообщений RabbitMQ.
        Хочу поделиться этим материалом в виде слайдов и комментариев к ним.

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

        * на слайдах вместо слова «подписчик» используется «консумер», в комментариях для единообразия тоже
        * рассматривается отдельно взятая очередь с пятью консумерами (C1..C5)

        Идеальные условия



        Узнать всю правду
      • RabbitMQ tutorial 2 — Очередь задач

        • Translation
        • Tutorial


        В продолжение первого урока по изучению азов RabbitMQ публикую перевод второго урока с официального сайта. Все примеры, как и ранее, на python, но по-прежнему их можно реализовать на большинстве популярных ЯП.
        Читать дальше →
      • RabbitMQ tutorial 1 — Hello World



        RabbitMQ позволяет взаимодействовать различным программам при помощи протокола AMQP. RabbitMQ является отличным решением для построения SOA (сервис-ориентированной архитектуры) и распределением отложенных ресурсоемких задач.

        Под катом перевод первого из шести уроков официального сайта. Примеры на python, но его знание вовсе не обязательно. Аналогичные примеру программы можно воспроизвести практически на любом популярном ЯП. [так выглядят комментарии переводчика, т.е. меня]
        Читать дальше →