Расскажу про проблемы, с которыми мы столкнулись при разработке одного из самых нагруженных сервисов Авито, а именно о базовых шаблонах проектирования микросервисной архитектуры. А также расскажу, почему разрабатывать, поддерживать и чинить проблемы в микросервисной архитектуре гораздо сложнее, чем в монолите, и что нужно сделать, чтобы облегчить этот процесс.
…
— Нашли ошибку в видео? Пишите нам на support@ontico.ru
. Глубокое погружение в мир микросервисов на TS с исключительно практической стороны, разбавленное огромным количеством опыта. Как? Куда? Зачем? Почему? Дмитрий подробно ответит на все эти вопросы с весьма качественными примерами из весьма интересного проекта.
Хайп прошел, а это значит, самое время погружаться в микросервисную архитектуру. Начнем с разговора об основных принципах технологии, рассматривая ее базовые принципы в свете ее преимуществ и недостатков. Поговорим, как должна выглядеть архитектура сервисов, какие проблемы бывают и как их решать.
В докладе обсудим:
какие архитектуры бывают;
базовые принципы в свете преимуществ и недостатков;
работу в команде;
контроль зависимостей;
коммуникацию между сервисами;
архитектуру сервиса;
когда мы выделяем новый микросервис;
сложности и важность CI/CD;
заблуждения.
Все крупные компании проходят через эту стадию. Стадию, когда бизнес не хочет по-старому, а монолит не может по-новому. И разбираться с этим нам — простым разработчикам. Приходите послушать, как мы решали эту проблему в Леруа Мерлен, на какие грабли мы наступили, и что у нас получилось в итоге.
— Нашли ошибку в видео? Пишите нам на support@ontico.ru
. Что такое Event Sourcing и зачем нам CQRS? Все слышали об этих двух парадигмах — теперь пора разобраться конкретнее, как реализовать их. В докладе будет и мотивировано решение обратиться к Event Sourcing, и разобран небольшой конкретный пример, в котором это всё работает с PostgreSQL и ElasticSearch.
Не так часто на конференциях рассказывают про архитектуру платежных систем, особенно если они делались без legacy. Нашей платежной системе всего три года, из которых два в продакшне. Мы изначально проектировали надежную и масштабируемую систему, и за прошедшее время накопилось тем для рассказа.
…
Нашли ошибку в видео? Пишите нам на support@ontico.ru
Чтобы управлять программистами, нужно понимать их мотивацию. Как «сегодняшнюю» — почему я хочу в проект? Так и глобальную – а что я буду хотеть завтра, удовлетворит ли меня эта работа?
Как правило, в долгосрочной перспективе программист у вас заскучает или проект его перерастет. Значит, замена в команде неизбежна в любом проекте.
…
Нашли ошибку в видео? Пишите нам на support@ontico.ru
Микросервисная архитектура — это не только новая мода, но и хорошее, а иногда даже единственно возможное решение для задач, которые сейчас встречаются в разработке программного обеспечения. На конференциях микросервисы сравнивают с монолитной архитектурой, описывают их плюсы и минусы, делятся успешными и провальными историями. Но, пока в столицах дают рок-концерты, на местах осваивают балалайки. Не всегда понятно, как начать делать систему, основанную на микросервисной архитектуре. Какие проблемы ждут архитектора и разработчиков, какие узкие места могут встретиться и как к этому подготовиться? Имеет ли смысл начинать с монолита или надо сразу разбивать систему на микросервисы? Как определить границы, которые встанут между вашими микросервисами?
Во время разработки можно заложить на будущее множество сложностей, благодаря привычкам, оставшимся после работы над монолитной архитектурой. Во время доклада будут рассмотрены различные сценарии, в результате которых происходит увеличение связанности системы. Все сценарии взяты из реальных проектов и относятся к работе с библиотеками и интеграцией между микросервисами.
Выбор микросервисов окажет большое влияние на тестирование, где специалистов QA ждет ряд новых проблем, связанных со сбором логов и развертыванием окружения для тестирования.
Цель доклада не только в освещении проблемных мест разработки микросервисов, но и в предложении советов и решений, которые помогут исправить или даже избежать сложностей и, следственно, потери времени и ресурсов на их исправление.
Доклад Дмитрия Столярова, технического директора компании «Флант» (https://flant.ru/), на конференции RootConf, проходившей в рамках фестиваля РИТ 2017 (6 июня 2017 г.). Посвящён устройству и основным возможностями Kubernetes и практике использования этой контейнерной системы в небольших проектах…
Все мы читали про объектно-ориентированное программирование и проектирование абстрактных типов данных, но мало кто из нас использует их по назначению. И бизнес-логику проектировать и тестировать получается не у всех. Почему-то вместо красивого кода образуется переплетение вызовов, и загромождаются контроллеры.
Вместе мы научимся раскладывать весь этот код по местам. Потренируемся в объектно-ориентированной декомпозиции для грамотного проектирования сущностей по обязанностям. Научимся сочинять ко всему этому быстрые, удобные и надёжные юнит-тесты.
Как производить отделение UI от бизнес-логики, чтобы не было протечек слоёв в MVC. Научимся создавать агрегаты для сущностей предметной области для соблюдения инварианта. Какие проверки поместить в сущность, а какие — в сервисный слой. Как производить валидацию и использовать исключения.
—
Нашли ошибку в видео? Пишите нам на support@ontico.ru
На дворе 2018 — все любят микросервисы и пилить монолиты.
При этом у монолита с единой базой есть плюс — целостность и согласованность данных о, например, списании денег за услугу и применении услуги можно гарантировать обычной транзакцией на уровне СУБД (PostgreSQL, Oracle и т.п.).
…
— Нашли ошибку в видео? Пишите нам на support@ontico.ru