Рубрика «микросервисы» - 3

Привет, я разработчик программного обеспечения в компании 1221Systems и хочу рассказать об опыте перевода проекта с монолитной архитектуры на микросервисную: как выглядел исходный проект и с какими проблемами мы столкнулись, какую архитектуру построили после рефакторинга и какие преимущества в итоге получили.

Что у нас было

Проект состоял из двух частей:

  • Монолит на PHP / JS / PostgreSQL

    • Интерфейс управления рекомендациями

    • Логика хранения и отображения данных

  • ML-сервис на Python

    • Прогнозирование поведения пользователей

    • Формирование рекомендаций

  • Читать полностью »

Все говорили о микросервисах. Гибкость. Масштабируемость. Независимые команды. Звучало как мечта. Многие компании бросились распиливать свои монолиты. Разработка действительно ускорилась. Отдельные компоненты стало проще обновлять и разворачивать.

А потом сервисам понадобилось взаимодействовать. И мечта превратилась в сложную, многомерную головоломку.

Читать полностью »

В статье рассматривается подход к снижению энергозатрат Kubernetes-кластера путём динамической подстройки ресурсов под реальный профиль нагрузки. Описан опыт внедрения системы сбора показателей энергопотребления, построения модели потребления сервисов и разработки «умного» контроллера на Go. Приведены примеры кода для Python и Go, а также разбор неожиданных подводных камней, с которыми столкнулся инженер.

Читать полностью »

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

Основные проблемы микросервесных приложений:

  1. Сложный обмен данными между сервисами.

  2. Сбор и отдача данных из разных сервисов с агрегацией, фильтрацией, пагинацией и прочей обработкой.

  3. Консистентность данных между сервисами.

  4. Читать полностью »

Доброго времени суток!

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

Читать полностью »

Kafka

Kafka

Данная статья открывает серию из трёх материалов, каждый из которых представляет отдельный уровень изучения Kafka.

Если у тебя уже есть практический опыт работы с Kafka — первый уровень, скорее всего, не для тебя. Он предназначен для новичков, которые хотят понять, зачем вообще нужен Kafka и где он используетсяЧитать полностью »

Системный дизайн

Системный дизайн

Привет!

В этой статье я не теоретизирую. Каждый из блоков — это то, что работает. Если вы разработчик, который хочет думать как архитектор — этот список для вас.

Если вы архитектор, которому надоело рисовать схемы ради схем — этот список тоже для вас.

Читать полностью »

Издержки микросервисов, которые ваш стартап может не потянуть - 1


Выживание стартапа зависит от того, насколько быстро вы сможете вносить доработки, поставлять новые функции и обеспечивать ценность для конечных потребителей. И во всём этом важную роль играет выбранная вами базовая архитектура. Кроме того, оперативность команды напрямую зависит от технологического стека и используемого языка программирования. Неудачная архитектура, особенно на базе незрелых микросервисов, может сильно подорвать продуктивность и привести к срыву планов по выпуску продукта.Читать полностью »

С тех пор, как микросервисы захватили умы и серверные стойки, одна тема всплывает с завидной регулярностью. От финтеха, где цена ошибки – реальные деньги, до гигантов e-commerce с их бешеными нагрузками – везде одно и то же: как подружить данные, разбросанные по десяткам независимых сервисов? Старые добрые ACID-транзакции, наша палочка-выручалочка из монолитного прошлого, в новом распределенном мире часто не просто не работают, а ломают всё – доступность, независимость, саму идею микросервисов. Сегодня хочу поговорить начистоту об одном из мощнейших, хотя и непростых, инструментов в нашем арсенале – паттерне Saga.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js