Легкая система мониторинга с Телеграмом и Консулом

Эволюционно так получилось, что в моем личном владении оказался не маленький зоопарк различных серверов: от дешевого Supermicro до топового (на момент выпуска) HP Gen 8. Все конечно связано оптикой и прочими радостями жизни.

И вроде все работает. Но иногда наступает тот дивный чудный момент, когда приходит потребитель одного из сервисов с вопросом вида “а чего-то у меня уже неделю сервис такой-то немного не живой”.
И вроде как клиент лояльный (сервис-то для него бесплатный), и вроде как трагедии не произошло, но возникает странное ощущение надвигающегося шторма нежданчиков и звонков в три ночи.

Continue reading “Легкая система мониторинга с Телеграмом и Консулом”

Monexec

It’s tool for controlling processes like a supervisord but with some important features:

  • Easy to use – no dependencies. Just a single binary file pre-compilled for most major platforms
  • Easy to hack – monexec can be used as a Golang library with clean and simple architecture
  • Integrated with Consul – optionally, monexec can register all running processes as services and deregister on fail
  • Supports gracefull and fast shutdown by signals
  • Developed for used inside Docker containers
  • Different strategies for processes
  • Support template-based email notification
https://github.com/reddec/monexec

Брокер сообщений для сервисной архитектуры на базе ZMQ

Профессиональное счастье программиста довольно простое — писать на своем любимом языке интересные задачи и получать за это деньги (желательно не маленькие, хотя денег всегда мало). Подобные желания привели к тому, что родился целый подход в виде отдельностоящих приложений и процесса обмена между ними: SOA (в частности SOAP/WSDL/XML-RPC/JSON-RPC т.п.), REST, микросервисная архитектура. Суть в том, что следуя заветам Unix, отдельный функционал выделяется в приложения, а обмен данными между ними специфицируется отдельно.
Одно из моих хобби связанно с работой распределенной сети мелких модулей: умный дом, система вычислений и другие схожие задачи. Для коммуникации между ними удобно использовать центральный брокер сообщений. Типовое решение: RabbitMQ, Redis, ActiveMQ и другие схожие решения. Из монстров индустрии можно отметить IBM Broker, IBM MQTibco.

Continue reading “Брокер сообщений для сервисной архитектуры на базе ZMQ”

Децентрализованная система обмена сообщениями

Мир IT-разработок идет по спирали. Основатели UNIX считали, что пусть программ будет много, но каждая из них выполняет свою задачу на «отлично». В начале 2000х основным трендом были программы-комбайны, выполняющие все, что только можно и даже больше. Сейчас вектор направления разработок начал движение в обратную сторону. И если раньше для обмена данными использовался в основном стандартный поток ввода/вывода, то теперь из-за того, что системы делают все более распределенными, передачей данными между узлами занимаются специализированные интеграционные комплексы (англ. Message Bus или Message broker).

Continue reading “Децентрализованная система обмена сообщениями”