Как стать автором
Обновить
18.08
Рейтинг

Микросервисы *

Микросервисная архитектура и все что с ней связано

Сначала показывать
Порог рейтинга

Нужны ли нам микросервисы?

Блог компании FirstVDS Программирование *Микросервисы *
Перевод

Сегодня особую популярность получила микросервисная архитектура веб-приложений. У такого подхода есть много известных сторонников. К ним относятся Facebook, Uber, Groupon, Klarna, Amazon, Netflix, eBay, Comcast и другие. Но насколько необходим подобный подход в каждом конкретном случае?

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 2.6K
Комментарии 11

Новости

Генерация тестовых данных и нагрузочные K6 тесты для сервиса поиска

Тестирование веб-сервисов *Микросервисы *

Всем привет! В данной статье расскажу о том, как мы решали задачу нагрузочных тестов для сервиса поиска, как познакомились с замечательным K6 и о том, как ведет себя облачный Elastic Search под нагрузкой.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 468
Комментарии 0

Человеческим языком про метрики 3: перцентили для чайников

Блог компании Точка Анализ и проектирование систем *IT-инфраструктура *DevOps *Микросервисы *
Tutorial

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

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 3.2K
Комментарии 0

Стратегии тестирования микросервисов

Блог компании Serverspace IT-инфраструктура *Тестирование веб-сервисов *IT-компании Микросервисы *
Перевод

От автора: в этой статье я поделюсь своим опытом тестирования микросервисов. В последние годы команды разработчиков программного обеспечения внедряют архитектуру микросервисов, чтобы иметь возможность разрабатывать, тестировать и деплоить сервисы независимо и быстро. Для эффективного тестирования таких систем необходимо хорошо знать их архитектуру.

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 9.3K
Комментарии 4

Когда и как переходить с монолита на микросервисы. Предпосылки и общие понятия

Блог компании Mango Office IT-инфраструктура *Проектирование и рефакторинг *DevOps *Микросервисы *

В серии из трех статей рассказываем о переходе с монолитной на микросервисную архитектуру. Разбираемся, когда и кому это действительно нужно, рассматриваем 7 миграционных шаблонов и самый больной вопрос: «Как быть с данными?».

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 2.6K
Комментарии 10

Как мы сделали микросервис на Camunda для кол-центра и увеличили конверсию в два раза

Блог компании Нетология Open source *Анализ и проектирование систем *Повышение конверсии *Микросервисы *

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

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 1.9K
Комментарии 2

Как мы создаем приложение на основе микросервисной архитектуры, с какими особенностями сталкиваемся и как их обходим

Блог компании Nexign Микросервисы *

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

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 5.7K
Комментарии 2

Миграция монолитов в микросервисы на практике

Блог компании OTUS Микросервисы *
Перевод

На тему миграции с монолита на микросервисную архитектуру были написаны замечательные статьи, например, эта, возможно, относится к лучшим примерам. Преимущества и недостатки этих архитектур должны быть достаточно очевидны. Однако я хочу поговорить о другом: о стратегии. Мы создаем монолиты, потому что с ними легче начинать работу. Микросервисы обычно возникают в силу необходимости, когда наша система уже находится в продакшне.

Однако при принятии решения о необходимости миграции возникает множество вопросов: как вы определяете границы услуги? Как вы проверяете свойства самовосстановления архитектуры микросервиса?

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

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Просмотры 5.9K
Комментарии 2

Почему интеграционная БД это отстой

Программирование *Анализ и проектирование систем *Микросервисы *

Интеграционная или shared база данных это архитектурный подход с которым мне часто приходилось сталкиваться, и практически никогда эта встреча не сулила ничего хорошего. Как правило, команда выбирает данный подход по нескольким причинам:

Не надо писать никакие контракты и схемы для интеграций сервисов между собой через API, а каждый может читать/писать из одной БД.

Не надо думать о синхронизации данных, если данные в БД записались значит консистентность достигнута.

Не надо снимать бэкапы с нескольких хранилищ, если можно снимать с одной единственной БД.

Читать далее
Всего голосов 16: ↑10 и ↓6 +4
Просмотры 8.3K
Комментарии 15

Целенаправленный дизайн микросервисов

Блог компании OTUS Микросервисы *
Перевод

В своем стремлении перейти на микросервисы я столкнулся с аналогичными проблемами. Чаще всего я работал с клиентами и корпорациями, чей «микросервисный» дизайн приводил к единому моносервису. По сути, монолитное приложение было заменено действительно большим RESTful API.

Я решил рассмотреть пример создания целенаправленного микросервисного дизайна… правильным способом.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 4.5K
Комментарии 3

Как мы внедряли tracing

Блог компании HeadHunter Java *DevOps *Распределённые системы *Микросервисы *

Представьте: у вас пара сотен микросервисов, и вдруг всё ломается. А может даже не всё, а, скажем, только одна страница. Если вы хорошо знакомы с системой, то по мониторингам и логам быстро обнаружите проблему и пойдете её решать. Но иногда систему вы видите впервые, и на поиск бага могут часы, или даже дни.

Всем привет, меня зовут Саша Казанцев, я — тимлид команды “Clickme” в hh.ru. В этой статье расскажу о том, как мы внедряли трейсинг. 

Читать далее
Всего голосов 16: ↑14 и ↓2 +12
Просмотры 3.3K
Комментарии 2

Человеческим языком про метрики 2: Prometheus

Блог компании Точка Анализ и проектирование систем *IT-инфраструктура *DevOps *Микросервисы *
Tutorial

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

Под катом: формат данных, способы отправки, типы метрик и их применение, кардинальность.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 8.5K
Комментарии 4

Современная микросервисная архитектура: основные вызовы в работе системных аналитиков

Блог компании Иннотех Системное администрирование *Серверное администрирование *Микросервисы *

Продолжаем знакомиться с современной микросервисной архитектурой. Ведущий архитектор Группы «Иннотех» Александр Соляр рассказал об основных сложностях аналитиков, с которыми можно столкнуться при работе с микросервисами, и способах их преодоления.

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Просмотры 7.2K
Комментарии 0

rate limiter (sliding window)

Java *Алгоритмы *Kotlin *Микросервисы *

Наверняка многие бекенд программисты сталкивались с задачей ограничением запросов к некоторому источнику данных. Существует множество решений этой проблемы:

1) хранить историю во внешнем источнике данных, как redis. Для вычисления возможности отправить запрос, нужно каждый раз ходить в этот источник данных, что может быть непозволительно в некоторых сферах (так как существенно увеличивается время обработки запроса)

2) не париться с limiter и анализировать ответ от внешнего источника данных и на основе его ответов, принимать решение когда и сколько запросов можно отправить (но такие ответы есть не у каждого сервиса и существует вероятность, что будут отправлены лишние запросы, что может привести к бану)

3) хранить историю запросов локально, но использовать алгоритм leaked bucket, но это не позволяет накидать несколько запросов и ждать

4) хранить историю запросов локально, но использовать алгоритм sliding window, можно накидать запросов и ждать какое-то известное время

О реализации sliding window для java пойдет речь в этой статье.

Читать далее
Всего голосов 20: ↑4 и ↓16 -12
Просмотры 2.9K
Комментарии 18

Что означает I в ACID и как это можно использовать

PostgreSQL *Программирование *Java *Микросервисы *

Пройдя много собеседований, выяснилось, что довольно приличная часть собеседующих, спрашивавших или как-то затрагивавших тему транзакций и их работы, не знают как работают транзакции и что означает для разработчика термин изоляция. Вплоть до архитектора в одной очень большой российской компании, для которого выводы, использованные мною для формулирования решения при прохождении архитектурной секции оказались чем-то вроде бреда. Пока готовится вторая статья (Миллиард абитуриентов МИРЭА 2), можно отвлечься и разобрать тему, продемонстрировать разработчикам что означает для них I в ACID.

Попробовать заблокировать запись
Всего голосов 12: ↑3 и ↓9 -6
Просмотры 4.6K
Комментарии 12

Человеческим языком про метрики 1: Потерянное введение

Блог компании Точка Анализ и проектирование систем *IT-инфраструктура *DevOps *Микросервисы *
Tutorial

Однажды мне понадобилось внедрить метрики в сервисы своей команды. С самого начала я не понимал, что именно хочу получить: одно дело — прикрутить библиотеку и нарисовать графики, другое дело — показывать осмысленные данные.

Мне нужен был гайд, который сочетает эти две вещи: сначала «почему так принято», а затем — «как правильно делать». В результате такой гайд мне пришлось написать самому. Его цель — объяснить разработчикам с любым бэкграундом, что такое метрики, как правильно о них думать и осмысленно использовать. Сначала гайд жил во внутренней документации Точки, но я решил сделать его публичным — возможно, кому-то этот опыт будет полезен. Разбираться будем с Prometheus и Grafana. Если у вас другой стек — не страшно. Мы затронем и фундаментальные темы: например, перцентили, производные и кардинальность.

Гайд будет выходить как цикл статей. Сначала посмотрим на архитектуру: как собираются метрики и где хранятся. Дальше разберемся с типами метрик — они не так просты, как кажется. Потом придется немного отвлечься на математику (но только с инженерной точки зрения!). И, наконец, научимся писать запросы, но не просто так: сразу посмотрим на разные грабли и неочевидные моменты.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 6.6K
Комментарии 2

Современная микросервисная архитектура: принципы проектирования

Блог компании Иннотех Системное администрирование *Серверное администрирование *Микросервисы *

Первые упоминания о практическом использовании микросервисной архитектуры появились в 2010-х годах. Но сейчас она стала стандартом для отрасли. Ведущий архитектор Группы «Иннотех» Александр Соляр рассказал о некоторых нюансах микросервисов, а также принципах их использования.

Читать далее
Всего голосов 14: ↑7 и ↓7 0
Просмотры 11K
Комментарии 5

Микросервисная архитектура в разработке приложений: преимущества и недостатки

Микросервисы *
Из песочницы

В современной экономике создание программного обеспечения (ПО) — это целая индустрия, которая, с одной стороны, оказывает помощь бизнесу в автоматизации и цифровизации всех процессов, а с другой стороны, самостоятельно приносит прибыль и создает виртуальные активы. В настоящее время проектирование в сфере R&D усложнилось, количество программистов постоянно растет, задачи для них становятся все более сложными. Эти причины привели к появлению новых методологий разработки ПО и видов архитектуры.

Современные веб-приложения многофункциональны, а цифровая трансформация, которая происходит сейчас со многими бизнесами, повышает требования к ПО. Приложение должно быть: легко масштабируемым, гибким и кроссплатформенным, быстро изменяемым под задачи пользователей. Данные требования задаются постановщиками задач уже на этапе разработки такого софта.

Для создания программного обеспечения, которое соответствует всем требованиям современного бизнеса необходимо предварительно серьезно изучить сам процесс разработки софта и выбрать правильную архитектуру.

Читать далее
Всего голосов 11: ↑6 и ↓5 +1
Просмотры 11K
Комментарии 0

Event-driven архитектура в Kubernetes

Блог компании OTUS Облачные вычисления *Микросервисы *Kubernetes *Serverless *

Kubernetes, как система оркестрации, позволяет автоматизировать процесс развертывания сложных приложений и восстанавливать ожидаемое состояние кластера после сбоев. В общем случае приложение представляет собой резидентно запущенные контейнеры, которые обрабатывают запросы клиентов в цикле обработки событий, при этом при росте нагрузки могут создаваться дополнительные реплики (с использованием механизма Horizontal Pod Autoscaling). Однако, нередко бывают случаи, когда сервис используется не очень часто, но при этом в запущенном состоянии он забирает большое количество оперативной памяти или процессорного времени, и желательно обеспечить механизм запуска сервиса по запросу (или по внешнему событию). Для реализации такого варианта использования сейчас доступен инструмент knative, который был принят в марте 2022 года в качестве incubating-проекта в CNCF (Cloud Native Computing Foundation). В этой статье мы разберемся с основными понятиями knative и попробуем создать архитектуру приложения, основанную на событиях, с использованием eventing-возможностей knative.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.8K
Комментарии 0

Обзор паттернов интеграции микросервисов. Часть 2

Блог компании Southbridge Системное программирование *IT-инфраструктура *Микросервисы *

Продолжаем обзор паттернов интеграции микросервисов. В первой части мы рассказали, зачем IT-специалистам нужны шаблоны интеграции, и для каких задач они подходят. Подробно остановилисьна Circuit Breaker, Sidecar, Ambassador, Anti-Corruption Layer и Async Request-Reply. Сегодня по плануразобрать Backends for Frontends, Cache-Aside, Gateway, Gateway Aggregation и Gateway Routing. 

Читать далее
Всего голосов 19: ↑17 и ↓2 +15
Просмотры 8.5K
Комментарии 1

Вклад авторов