Обновить
81.97

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

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

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

Трейсим .NET микросервисы через OpenTelemetry

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров24K

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

У Uber - тысячи микросервисов. А у Netflix - несколько тысяч

В каком сервисе возникла ошибка? Сервис упал или просто ошибка сети? Что за ошибка возникла?

Стоп!
Рим не за один день был построен

Поэтому начнем с малого и подключим трейсинг к обычной микросервисной системе на ASP.NET Core.

Поможет нам в этом OpenTelemetry

Читать далее

Теория: nx — инструмент по работе с микрофронтендами

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров15K

Как не утонуть новичку в документации nx?

Разберем основные понятия и концепции по работе с монорепозиторием под управлением nx.

А также укажу некоторые особенности о которых нужно знать, чтобы "не выстрелить себе в ногу".

Читать далее

Моделирование микросервисов. Часть 1

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров17K

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

Читать далее

Использование Reactive Streams для упрощения разработки микросервисных систем

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров3.7K


Автор статьи: Артем Михайлов

Микросервисная архитектура – одна из самых популярных подходов к разработке современных приложений. Благодаря ее гибкости и масштабируемости, разработчики могут легко создавать сложные системы, состоящие из множества небольших сервисов. Однако, с увеличением количества сервисов, взаимодействующих между собой, возникает проблема управления потоком данных. И здесь на помощь приходят Reactive Streams.

Reactive Streams представляют собой набор протоколов и API, которые позволяют разработчикам управлять потоками данных в многопоточных приложениях. С помощью Reactive Streams можно создавать эффективные асинхронные системы, которые могут обрабатывать огромные объемы данных и одновременно отвечать на запросы пользователей.

В микросервисных системах, Reactive Streams находят применение в различных областях – от обработки потоков событий до взаимодействия между сервисами. Они позволяют управлять потоками данных, обрабатывать ошибки и уменьшить задержки в системе, что может значительно повысить производительность и надежность приложения
Читать дальше →

Как НЕ надо распиливать монолит

Время на прочтение3 мин
Количество просмотров6.8K

Всем привет, на связи Юджин, (теперь уже) беспризорный backend-разработчик на Go. Сегодня я расскажу вам забавную и больную историю о том, как мы монолит распиливали. Кто-то, может, посмеётся, а может, найдёт в этом себя.

Читать далее

Load Balancer и Reverse Proxy в микросервисной архитектуре

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров16K


Автор статьи: Артем Михайлов

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

Однако при работе с микросервисами возникают некоторые сложности в управлении нагрузкой на приложение. Именно здесь на помощь приходят два важных компонента — Load Balancer и Reverse Proxy.
Читать дальше →

JWT, FSD и сервисный подход. Итоги года глазами команды разработки Учи.ру

Время на прочтение5 мин
Количество просмотров2.8K

Привет, Хабр! Команда Учи.ру традиционно подводит итоги учебного года. Для нас — это сезон не только крупных продуктовых релизов, но и изменений под ИТ-капотом Учи.ру. Сегодня команда поделится, что нового произошло в архитектуре и разработке платформы и что сподвигло их на эти изменения.

Читать далее

А у вас есть кубернетес? Подборка текстов по k8s для тех, кто не DevOps

Время на прочтение5 мин
Количество просмотров9.2K

В каноничном видео человек грустит, пытаясь ответить на вопрос, зачем ему Kubernetes. В этом тексте на него мы не ответим, зато поможем разобраться с базовыми концепциями, связанными с оркестратором. Будет полезно тем, кто не работает с кубиком напрямую, но кодит приложение под Docker/Kubernetes. И тем, кому нужно будет поддержать умную беседу на кофе-пойнте. Под катом разбираем понятия Cloud Native, микросервисов и готовых кластеров Kubernetes.
Читать дальше →

Как мы сделали grpc-wiremock: сервис, создающий мок-сервер для ваших контрактов в одну команду

Время на прочтение9 мин
Количество просмотров6.7K

Всем привет, меня зовут Никита, уже пару лет я зарабатываю на жизнь развитием платформы-как-сервис в СберМаркет. В основном отвечаю за инструменты локальной разработки. Являюсь одним из создателей cli, которая позволяет развернуть сервис со всеми его зависимостями в одну команду sbm-cli service up.

Хочу рассказать, как мы делаем тестирование на моках в PaaS. И поделиться нашим опенсорс-решением на базе Wiremock.

Читать далее

Просто о сложном: трассировки в микросервисах

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров18K

В современном мире все больше IT-проектов переходят на микросервисную архитектуру. При таком подходе появляется ряд вопросов — как избитых, так и не самых очевидных. Как обеспечить корректную работу системы из большого числа микросервисов? Каким способом и с помощью каких технологий разворачивать этот зоопарк? Как отследить узкие места в производительности?

Меня зовут Максим, я Java-разработчик в SimbirSoft. Сейчас работаю на финтех-проекте, занимаюсь созданием бизнес-логики, иногда подключаюсь к различным техническим задачам. В этой статье я кратко и понятно опишу, что такое трассировки, как устроен Jaeger, а также расскажу про недавно появившийся новый стандарт распределенного трейсинга и мониторинга — OpenTelemetry.

Материал будет полезен начинающим разработчикам. Из него вы узнаете, как с небольшими усилиями подключить трассировки к своему проекту. Речь пойдет об инструменте из большого блока «‎Наблюдаемость» (Monitoring), а конкретно — о трассировках.

Читать далее

Муки выбора, или Как найти идеальную систему мониторинга. Опыт dBrain

Время на прочтение9 мин
Количество просмотров8.7K

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

Читать далее

Kafka за 20 минут. Ментальная модель и как с ней работать

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров218K

Привет! Меня зовут Глеб Гончаров, и я руковожу подгруппой ИТ-инфраструктуры в СберМаркете. В работе мы широко используем Kafka как шину данных для микросервисов и не раз убедились на практике, что к инструменту важно подобрать правильный подход. Об этом сегодня и поговорим в двух частях — сначала обсудим основы, а в конце статьи будет ссылка на практические задания.

Читать далее

Как мы упростили жизнь высоконагруженным сервисам с Platform V SessionsData. Часть 2

Время на прочтение6 мин
Количество просмотров1.7K

Привет, Хабр! На связи Андрей Чернов, Java-архитектор микросервисов в СберТехе. Эта статья — продолжение материала о том, как мы развиваем Platform V SessionsData — высокопроизводительное распределённое in-memory хранилище для общего контекста сессионных запросов key-value, которое СберБанк Онлайн использует в качестве микросервиса на своём server side.

В первой части мы говорили о том, почему решили создать собственный микросервис и как он помогает справляться с нагрузкой СберБанк Онлайн. В этой разберём, как мы достигаем высокой доступности сервиса. Будет и третья часть: расскажем, какие доработки помогут нам и дальше развивать Platform V SessionsData.

Читать далее

Ближайшие события

Решаем вечную проблему deployment bottleneck и репликации окружений

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.4K

Подробно и на примере рассматриваем проблему deployment bottleneck и как она появляется. Рассказываю как можно легко и быстро настроить реплицируемые stage-окружения для ее решения, дав разработчикам делать свою магию параллельно и независимо друг от друга.

Подробнее

Проблемы при реализации микросервисной архитектуры

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров6.7K

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

Микросервисная архитектура - это подход к построению приложений, в котором они разбиваются на более мелкие и управляемые блоки (микросервисы), каждый из которых выполняет определенную функцию. Такой подход отличается от монолитных приложений, где все компоненты связаны тесно между собой и в одном кодовом базе.

Читать далее

Строим свой SSO сервер используя Spring Authorization Server

Уровень сложностиСредний
Время на прочтение45 мин
Количество просмотров50K

На днях я решил сделать под все свои pet-проекты собственный SSO сервис, дабы не заморачиваться каждый раз с авторизацией и аутентификацией. Возиться с этим особо долго мне не хотелось. Все таки это для pet-проектов. Поэтому выбор пал на Spring Security. Мне давно уже было интересно посмотреть в действии как на Spring Boot 3, так и новый Spring Authorization Server версии 1.x.x. В данной статье речь пойдёт о проблемах и их решениях при построении собственного SSO. А также я поставил себе ряд интересных требований, с которыми я постараюсь справиться и рассказать о своём опыте.

Читать далее

Контейнерная разработка в 2023 году, вебинар по Kubernetes и личные размышления

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.9K

Всем привет! Меня зовут Максим Еремин, я занимаюсь развитием платформенных продуктов в beeline cloud. В этой статье поговорим про контейнерную разработку в облаках, рассмотрим, в каких реалиях живут облачные провайдеры, включая российских игроков и гигантов зарубежного рынка. 

Отдельно расскажу про особенности serverless-подхода. А если вы хотите узнать о serverless больше, погрузиться в DevOps-практику и посмотреть демо по управлению контейнерами — жду вас на вебинаре «Easy to use: управление контейнерами в облаке», который пройдет 30 мая в 11:00 мск. Приходите — пообщаемся в онлайне ?

Читать далее

Mela: асинхронный фреймворк на Python для сервисов, работающих с RabbitMQ

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров6.8K

WARNING: длинная вступительная часть. Если хотите перейти сразу к делу - листайте до Getting Started.

Читать далее

DevOps спит, Gitlab CI работает…

Время на прочтение12 мин
Количество просмотров10K

Можно ли построить удобный для всех pipeline, приложив усилия один раз, а не 100? Об этом расскажет Виктория Вольферц. Она работает в БКС DevOps-инженером в управлении микросервисной архитектуры. БКС предоставляет брокерские и банковские услуги для клиентов. Их основные продукты — это мобильное приложение БКС Мир Инвестиций и веб-кабинет для клиентов.

Виктория поделится опытом своей компании, как им удалось решить проблему больших временных затрат на релиз-менеджмент и Time to Market с помощью подключения проектов к CI/CD. Она расскажет о том, как они автоматизировали процессы и закрыли слабые места.

Читать далее

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

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.2K
image

Всем привет!

На связи Михаил, и я продолжаю делиться историями про рефакторинг одного из сервисов облачной платформы #CloudMTS. В прошлый раз я рассказывал о том, как мы аккуратно раскладывали по папочкам код в соответствии с принципами чистой архитектуры. Сегодня поговорим о решении, которое позволяет нам распиливать монолит по кусочкам без простоев.

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

Наши причины перехода были следующими:

  1. В монолите концентрировалось большое количество бизнес-процессов, которые охватывали сразу несколько потребителей: пользователей облачной платформы, сейлз-менеджеров (через CRM-систему), администраторов, обработчиков метрик. Получилась такая одна большая точка отказа сразу для 4 групп бизнес-процессов.
  2. Каждый бизнес-процесс потребляет свой объем ресурсов. Например, для обработки метрик нужно 5 подов (чтобы запараллелить и ускорить обработку), для администрирования хватит и одного. Так как у нас все в одном сервисе, при масштабировании монолита мы будем ориентироваться на самый «прожорливый» бизнес-процесс. Часть ресурсов будет просто простаивать.
  3. Хотелось добиться гранулярности, чтобы независимо писать и деплоить код для каждого бизнес-процесса. И не переживать, что какие-то изменения в одном бизнес-процессе неожиданно отрикошетят в соседний.

Читать дальше →