Вы видите в Kibana после нажатия на «Discover» «561 hits». Что это значит?
Общее количество документов, соответствующих результатам поиска. Если не используется запрос, то просто общее количество документов.
Общее количество документов, соответствующих результатам поиска. Если не используется запрос, то просто общее количество документов.
В каких сценариях вы бы предпочли использовать NoSQL/Mongo вместо SQL?
✍🏻 Разнородные данные, которые часто меняются;
✍🏻 Согласованность и целостность данных не являются главным приоритетом;
✍🏻 Лучше всего, если базу данных необходимо быстро масштабировать.
✍🏻 Разнородные данные, которые часто меняются;
✍🏻 Согласованность и целостность данных не являются главным приоритетом;
✍🏻 Лучше всего, если базу данных необходимо быстро масштабировать.
Что такое узел приема в Elasticsearch?
Узел, отвечающий за обработку данных в соответствии с конвейером приема. Если вам не нужно использовать logstash, то этот узел может получать данные из битов и обрабатывать их аналогично тому, как они могут обрабатываться в Logstash.
Узел, отвечающий за обработку данных в соответствии с конвейером приема. Если вам не нужно использовать logstash, то этот узел может получать данные из битов и обрабатывать их аналогично тому, как они могут обрабатываться в Logstash.
В каких случаях лучше НЕ использовать Prometheus?
Из документации Prometheus: «если вам нужна 100% точность, например, для выставления счетов за каждый запрос».
Из документации Prometheus: «если вам нужна 100% точность, например, для выставления счетов за каждый запрос».
Forwarded from Библиотека C/C++ разработчика | cpp, boost, qt
💻 15 продвинутых лайфхаков для работы в терминале Linux
Рассказываем, как использовать малоизвестные, но мощные инструменты терминала: от редактирования длинных команд в текстовом редакторе до автоматизации сложных процессов с помощью tmux.
👉 Ссылка
Рассказываем, как использовать малоизвестные, но мощные инструменты терминала: от редактирования длинных команд в текстовом редакторе до автоматизации сложных процессов с помощью tmux.
👉 Ссылка
Что вы можете рассказать об архитектуре Horizon?
API обратно совместимо. Существует три типа панелей мониторинга: пользовательские, системные и настройки. Предоставляет базовую поддержку для всех основных проектов OpenStack, таких как Neutron, Nova и т. д. (из коробки, нет необходимости устанавливать дополнительные пакеты или плагины). Любой может расширить панели мониторинга и добавить новые компоненты. Horizon предоставляет шаблоны и базовые классы, из которых можно создать собственную панель мониторинга.
API обратно совместимо. Существует три типа панелей мониторинга: пользовательские, системные и настройки. Предоставляет базовую поддержку для всех основных проектов OpenStack, таких как Neutron, Nova и т. д. (из коробки, нет необходимости устанавливать дополнительные пакеты или плагины). Любой может расширить панели мониторинга и добавить новые компоненты. Horizon предоставляет шаблоны и базовые классы, из которых можно создать собственную панель мониторинга.
Могут ли пользователи по умолчанию хранить объект размером 100 ГБ? (OpenStack — Swift)
Не по умолчанию. API Object Storage ограничивает максимальный размер 5 ГБ на объект, но его можно настроить.
Не по умолчанию. API Object Storage ограничивает максимальный размер 5 ГБ на объект, но его можно настроить.
Объясните, что такое прошивка.
В вычислительной технике прошивка — это особый класс компьютерного программного обеспечения, которое обеспечивает низкоуровневый контроль над определенным оборудованием устройства. Прошивка, например BIOS персонального компьютера, может содержать базовые функции устройства и может предоставлять сервисы абстракции оборудования для программного обеспечения более высокого уровня, например операционных систем.
В вычислительной технике прошивка — это особый класс компьютерного программного обеспечения, которое обеспечивает низкоуровневый контроль над определенным оборудованием устройства. Прошивка, например BIOS персонального компьютера, может содержать базовые функции устройства и может предоставлять сервисы абстракции оборудования для программного обеспечения более высокого уровня, например операционных систем.
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🛠️ 9 инструментов для бэкенд-разработчика: ИИ-ассистент DevOps-инженера и Regular Expression Tester
От анализа гигантских лог-файлов до программирования GPU на Rust — 9 мощных инструментов, которые помогут вам оптимизировать рабочий процесс и решать сложные задачи в бэкенд-разработке
Читать статью
От анализа гигантских лог-файлов до программирования GPU на Rust — 9 мощных инструментов, которые помогут вам оптимизировать рабочий процесс и решать сложные задачи в бэкенд-разработке
Читать статью
Опишите, чем архитектура производственной среды с большими объемами данных будет отличаться от маломасштабной среды.
На этот вопрос есть несколько возможных ответов. Один из них следующий: мелкомасштабная архитектура elastic будет состоять из стека elastic как такового. Это означает, что у нас будут beats, logstash, elastcsearch и kibana. Производственная среда с большими объемами данных может включать какой-либо компонент буферизации (например, Reddis или RabbitMQ), а также компонент безопасности, такой как Nginx.
На этот вопрос есть несколько возможных ответов. Один из них следующий: мелкомасштабная архитектура elastic будет состоять из стека elastic как такового. Это означает, что у нас будут beats, logstash, elastcsearch и kibana. Производственная среда с большими объемами данных может включать какой-либо компонент буферизации (например, Reddis или RabbitMQ), а также компонент безопасности, такой как Nginx.
Forwarded from Библиотека питониста | Python, Django, Flask
Media is too big
VIEW IN TELEGRAM
🖼️ 5 стратегий рендеринга веб-страниц: как выжать максимум из вашего сайта
Рендеринг — это процесс превращения кода в контент. За годы развития интернета эта технология прошла долгий путь — от формирования простейших HTML-страниц на стороне сервера до динамического обновления интерактивных приложений без перезагрузки.
Сейчас в ходу несколько методов рендеринга:
▪️Генерация статических сайтов (предварительно генерирует HTML-страницы во время сборки приложения).
▪️Генерация на стороне сервера (генерирует полный HTML для страницы при каждом запросе).
▪️Генерация на стороне клиента (использует JavaScript для рендеринга контента в браузере пользователя).
▪️Инкрементальная статическая регенерация (позволяет обновлять отдельные страницы после сборки сайта).
▪️Частичный пререндеринг (экспериментальный подход, который стремится автоматически оптимизировать стратегии рендеринга).
О преимуществах и недостатках каждого подхода, читайте в нашей новой статье 👈
Сейчас в ходу несколько методов рендеринга:
▪️Генерация статических сайтов (предварительно генерирует HTML-страницы во время сборки приложения).
▪️Генерация на стороне сервера (генерирует полный HTML для страницы при каждом запросе).
▪️Генерация на стороне клиента (использует JavaScript для рендеринга контента в браузере пользователя).
▪️Инкрементальная статическая регенерация (позволяет обновлять отдельные страницы после сборки сайта).
▪️Частичный пререндеринг (экспериментальный подход, который стремится автоматически оптимизировать стратегии рендеринга).
О преимуществах и недостатках каждого подхода, читайте в нашей новой статье 👈
Какие типы гипервизоров существуют?
Хостинговые гипервизоры и гипервизоры без операционной системы.
Хостинговые гипервизоры и гипервизоры без операционной системы.
🚀 Ускорьте свою базу данных: 7 проверенных методов масштабирования и оптимизации
Масштабирование улучшает производительность и повышает надежность систем хранения данных путем оптимизации использования ресурсов и распределения нагрузки. В этой статье мы рассмотрим 7 эффективных методов масштабирования и оптимизации базы данных.
🔗 Читать статью
🔗 Зеркало
Масштабирование улучшает производительность и повышает надежность систем хранения данных путем оптимизации использования ресурсов и распределения нагрузки. В этой статье мы рассмотрим 7 эффективных методов масштабирования и оптимизации базы данных.
🔗 Читать статью
🔗 Зеркало
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Что такое Filebeat?
Filebeat используется для мониторинга каталогов логов внутри виртуальных машин или монтируется в качестве вспомогательного устройства при экспорте журналов из контейнеров, а затем пересылает эти логи для дальнейшей обработки, обычно в logstash.
Filebeat используется для мониторинга каталогов логов внутри виртуальных машин или монтируется в качестве вспомогательного устройства при экспорте журналов из контейнеров, а затем пересылает эти логи для дальнейшей обработки, обычно в logstash.
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
♾️💎 20 лайфxаков для DevOps-инженеров
В каждой профессии — и DevOps не исключение — есть обширный пласт тайных знаний, лайфхаков, секретов мастерства и лучших практик. Любой специалист, продержавшись в профессии достаточно долго, набирает собственный багаж таких навыков. И хотя быстрых способов стать DevOps-гуру нет, есть хитрости и инструменты, которые подарят вам мгновенный прирост продуктивности — делимся подборкой.
Читать статью
В каждой профессии — и DevOps не исключение — есть обширный пласт тайных знаний, лайфхаков, секретов мастерства и лучших практик. Любой специалист, продержавшись в профессии достаточно долго, набирает собственный багаж таких навыков. И хотя быстрых способов стать DevOps-гуру нет, есть хитрости и инструменты, которые подарят вам мгновенный прирост продуктивности — делимся подборкой.
Читать статью
Что такое сокет? Где можно увидеть список сокетов в вашей системе?
Сокет — это программная конечная точка, которая обеспечивает двустороннюю связь между процессами по сети. Сокеты предоставляют стандартизированный интерфейс для сетевой связи, позволяя приложениям отправлять и получать данные по сети. Чтобы просмотреть список открытых сокетов в системе Linux: netstat -an Эта команда отображает список всех открытых сокетов, а также их протокол, локальный адрес, внешний адрес и состояние.
Сокет — это программная конечная точка, которая обеспечивает двустороннюю связь между процессами по сети. Сокеты предоставляют стандартизированный интерфейс для сетевой связи, позволяя приложениям отправлять и получать данные по сети. Чтобы просмотреть список открытых сокетов в системе Linux: netstat -an Эта команда отображает список всех открытых сокетов, а также их протокол, локальный адрес, внешний адрес и состояние.
Знаете ли вы, что такое «теорема CAP»? (так называемая теорема Брюера)
Согласно теореме CAP, распределенное хранилище данных не может одновременно предоставлять более двух из следующих данных:
Доступность: на каждый запрос приходит ответ (не обязательно самые последние данные); Согласованность: на каждый запрос приходит ответ с самыми последними данными.
Согласно теореме CAP, распределенное хранилище данных не может одновременно предоставлять более двух из следующих данных:
Доступность: на каждый запрос приходит ответ (не обязательно самые последние данные); Согласованность: на каждый запрос приходит ответ с самыми последними данными.
Приглашенный спикер: Павел Запольский – Senior Quantitative Researcher at Exness и Co-founder GrowLytics. Запустивший более 10 проектов по машинному обучению и анализу данных для ведущих компаний.
Please open Telegram to view this post
VIEW IN TELEGRAM
📶 Паттерны коммуникации в распределенных системах
Распределенные системы состоят из многих отдельных частей/узлов, работающих вместе, но физически расположенных в разных местах. Эти части системы должны общаться друг с другом через сеть, чтобы система могла функционировать как единое целое.
Хотя коммуникация критически важна, правильно ее организовать бывает непросто: разработчики иногда пытаются использовать один и тот же подход ко всем задачам коммуникации, что может быть неэффективно. Важно понимать, что существуют разные способы организации коммуникации, и выбор правильного метода зависит от конкретной задачи. Рассмотрим основные паттерны коммуникации, которые можно использовать для решения разных задач.
☑️ Запрос-ответ с HTTP
Этот синхронный паттерн коммуникации предполагает, что один сервис отправляет запрос другому сервису и ожидает ответа или ошибки, блокируя свою работу до получения результата. REST, наиболее популярный архитектурный стиль для этой модели коммуникации, использует методы протокола HTTP — GET, POST, PUT и DELETE.
Однако использование этого паттерна может привести к проблемам, если сервисы образуют цепочку взаимодействий: в таком случае сбой одного из сервисов может привести к отказу всей операции, а также к расточительному использованию ресурсов и каскадным сбоям.
☑️ Общие данные
Этот паттерн часто остается незамеченным, поскольку разработчики не всегда воспринимают его как модель коммуникации. В рамках этого подхода один компонент записывает данные в определенное место, а другой компонент считывает и обрабатывает эти данные. Например, один сервис может загрузить файл в облачное объектное хранилище (например, в корзину Amazon S3), а другой сервис затем извлекает этот файл для дальнейших действий.
Главное преимущество этого паттерна — простота реализации и возможность обеспечения взаимодействия между устаревшими и современными системами без проблем совместимости. Однако он не подходит для сценариев, требующих низкой задержки.
☑️ Асинхронный запрос-ответ
В отличие от синхронного подхода, запрос-ответ может быть реализован асинхронно и без блокировки. В этом случае получающий сервис должен явно знать место назначения для отправки ответа. Для реализации этого паттерна идеально подходят очереди сообщений, которые позволяют буферизовать несколько запросов.
Основная сложность здесь — корреляция между запросом и ответом: экземпляр сервиса, отправивший запрос, может отличаться от экземпляра, получающего ответ, поэтому требуется способ отслеживания запросов.
☑️ Коммуникация на основе событий
В этом подходе сервисы не общаются напрямую друг с другом, а генерируют события, которые могут быть использованы другими сервисами. Это требует наличия места для отправки данных о событиях и механизма, позволяющего получающим сервисам обнаруживать эти события. Брокеры сообщений, такие как RabbitMQ, могут обрабатывать оба этих аспекта. Издатели используют API для отправки событий в брокер, который управляет подписками и уведомляет подписчиков при поступлении события.
Этот паттерн идеально подходит для создания слабосвязанных взаимодействий между сервисами. Однако брокер сообщений должен обеспечивать надежную доставку событий, их упорядочивание и согласованность. Кроме того, добавляется дополнительный компонент в систему.
👨💻 Подробнее читайте в статье.
📨 Материал взят из нашей еженедельной email-рассылки, посвященной бэкенду. Подпишитесь, чтобы быть в числе первых, кто получит дайджест.
Распределенные системы состоят из многих отдельных частей/узлов, работающих вместе, но физически расположенных в разных местах. Эти части системы должны общаться друг с другом через сеть, чтобы система могла функционировать как единое целое.
Хотя коммуникация критически важна, правильно ее организовать бывает непросто: разработчики иногда пытаются использовать один и тот же подход ко всем задачам коммуникации, что может быть неэффективно. Важно понимать, что существуют разные способы организации коммуникации, и выбор правильного метода зависит от конкретной задачи. Рассмотрим основные паттерны коммуникации, которые можно использовать для решения разных задач.
☑️ Запрос-ответ с HTTP
Этот синхронный паттерн коммуникации предполагает, что один сервис отправляет запрос другому сервису и ожидает ответа или ошибки, блокируя свою работу до получения результата. REST, наиболее популярный архитектурный стиль для этой модели коммуникации, использует методы протокола HTTP — GET, POST, PUT и DELETE.
Однако использование этого паттерна может привести к проблемам, если сервисы образуют цепочку взаимодействий: в таком случае сбой одного из сервисов может привести к отказу всей операции, а также к расточительному использованию ресурсов и каскадным сбоям.
☑️ Общие данные
Этот паттерн часто остается незамеченным, поскольку разработчики не всегда воспринимают его как модель коммуникации. В рамках этого подхода один компонент записывает данные в определенное место, а другой компонент считывает и обрабатывает эти данные. Например, один сервис может загрузить файл в облачное объектное хранилище (например, в корзину Amazon S3), а другой сервис затем извлекает этот файл для дальнейших действий.
Главное преимущество этого паттерна — простота реализации и возможность обеспечения взаимодействия между устаревшими и современными системами без проблем совместимости. Однако он не подходит для сценариев, требующих низкой задержки.
☑️ Асинхронный запрос-ответ
В отличие от синхронного подхода, запрос-ответ может быть реализован асинхронно и без блокировки. В этом случае получающий сервис должен явно знать место назначения для отправки ответа. Для реализации этого паттерна идеально подходят очереди сообщений, которые позволяют буферизовать несколько запросов.
Основная сложность здесь — корреляция между запросом и ответом: экземпляр сервиса, отправивший запрос, может отличаться от экземпляра, получающего ответ, поэтому требуется способ отслеживания запросов.
☑️ Коммуникация на основе событий
В этом подходе сервисы не общаются напрямую друг с другом, а генерируют события, которые могут быть использованы другими сервисами. Это требует наличия места для отправки данных о событиях и механизма, позволяющего получающим сервисам обнаруживать эти события. Брокеры сообщений, такие как RabbitMQ, могут обрабатывать оба этих аспекта. Издатели используют API для отправки событий в брокер, который управляет подписками и уведомляет подписчиков при поступлении события.
Этот паттерн идеально подходит для создания слабосвязанных взаимодействий между сервисами. Однако брокер сообщений должен обеспечивать надежную доставку событий, их упорядочивание и согласованность. Кроме того, добавляется дополнительный компонент в систему.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM