Реализация шаблона поиска событий в приложении Go с помощью EventStoreDB

Реализация шаблона поиска событий в приложении Go с помощью EventStoreDB

Введение в Event Sourcing Event Sourcing — это шаблон проектирования, который набирает популярность в мире разработки программного обеспечения, и не зря. Он позволяет фиксировать изменения состояния приложения в виде последовательности событий, а не просто хранить текущее состояние. Этот подход обеспечивает полный аудит всех изменений, упрощая отладку, аудит и даже возврат к предыдущим состояниям при необходимости. Что такое EventStoreDB? EventStoreDB — это база данных, предназначенная для хранения, обработки и доставки изменений состояния приложений, известных как события....

14 января 2025 14:00 · 4 минуты · 787 слов · Maxim Zhirnov
Создание высокопроизводительного брокера MQTT в Go: пошаговое руководство

Создание высокопроизводительного брокера MQTT в Go: пошаговое руководство

Введение в MQTT и Go Когда речь заходит об интернете вещей (IoT) и коммуникации в реальном времени, MQTT (Message Queuing Telemetry Transport) часто становится предпочтительным протоколом. Его лёгкая и эффективная конструкция делает его идеальным для устройств с ограниченными ресурсами. Если вы хотите создать высокопроизводительный брокер MQTT, использование языка программирования Go будет отличным решением. Go, с его функциями параллелизма и возможностями производительности, хорошо подходит для этой задачи. Почему стоит выбрать Go для вашего брокера MQTT?...

9 января 2025 14:00 · 4 минуты · 708 слов · Maxim Zhirnov
Сравнение производительности веб-сервера: Go vs Node.js против Python

Сравнение производительности веб-сервера: Go vs Node.js против Python

Когда дело доходит до выбора правильной серверной технологии для веб-приложения, производительность часто становится главным приоритетом. В этой статье мы подробно сравним Go, Node.js и Python — три популярных варианта для создания высокопроизводительных веб-серверов. Мы рассмотрим их модели ввода-вывода, результаты тестов и предоставим практические рекомендации, которые помогут вам принять обоснованное решение. Модели ввода-вывода: основа производительности Go Go, также известный как Golang, известен своей моделью параллелизма. Он использует горутины и каналы для обработки операций ввода-вывода в неблокирующем режиме....

3 января 2025 14:00 · 4 минуты · 750 слов · Maxim Zhirnov
Внедрение показателей и оповещений в приложениях Go с помощью Prometheus

Внедрение показателей и оповещений в приложениях Go с помощью Prometheus

Введение в Prometheus Прежде чем мы углубимся в тонкости реализации метрик и оповещений в приложениях Go с использованием Prometheus, давайте кратко рассмотрим, что такое Prometheus и почему он так популярен. Prometheus — это набор инструментов с открытым исходным кодом для мониторинга систем и оповещения, который изначально был создан в SoundCloud. С тех пор он стал краеугольным камнем в области мониторинга, особенно в рамках Cloud Native Computing Foundation. Prometheus собирает и хранит метрики в виде временных рядов данных, которые включают значение метрики вместе с отметкой времени и необязательными парами «ключ-значение», известными как метки....

29 декабря 2024 14:00 · 4 минуты · 826 слов · Maxim Zhirnov
Построение распределенной системы блокировки с помощью Go и etcd: Пошаговое руководство

Построение распределенной системы блокировки с помощью Go и etcd: Пошаговое руководство

Введение в распределённую блокировку В мире распределённых систем управление параллельным доступом к общим ресурсам представляет собой критическую задачу. Представьте себе сценарий, в котором нескольким экземплярам вашего микросервиса необходимо получить доступ к общей базе данных или выполнить какую-либо эксклюзивную операцию. Именно здесь на помощь приходит распределённая блокировка, гарантируя, что только один процесс может получить доступ к ресурсу в любой момент времени. Что такое etcd? Прежде чем приступить к реализации, давайте разберёмся, что такое etcd....

19 декабря 2024 14:00 · 5 минут · 859 слов · Maxim Zhirnov