Обновить
59.36

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

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

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

Когда использовать микросервисы: отвечают Сэм Ньюмен и Мартин Фаулер

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

Что бывает, когда два легендарных теоретика микросервисов, Мартин Фаулер и Сэм Ньюмен, встречаются, чтобы побеседовать о стратегии разработки под такую парадигму? За минимальное время можно составить впечатление о самых свежих представлениях на тему микросервисов. Ниже мы обсудим взгляды на разработку приложений, которые изложил Сэм Ньюмен, когда Мартин Фаулер задал, казалось бы, простой вопрос: «Когда следует использовать микросервисы?»
Читать дальше →

Интеграция с Apache Cassandra. Создаем микросервис с Cassandra и Kafka

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

Сегодня мы узнаем, как написать микросервис, который сохраняет данные в Apache Cassandra с помощью Java-драйвера DataStax и генерирует события для изменений данных в Apache Kafka.

Этот пост основан на дизайне простого микросервиса для управления данными бронирования отелей, который называется Reservation Service. Вы можете выполнить серию упражнений по записи и чтению данных в Cassandra с помощью службы резервирования в наборе «Cassandra: разработка приложений с помощью Java-драйвера DataStax». Исходный код службы бронирования доступен на GitHub.

Читать далее

Как создать шаблон документации к микросервису

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

Всем привет. Меня зовут Таня, я работаю системным аналитиком в МТС. В этой статье я расскажу о том, как писать документацию для разработки микросервисов. 

Моя команда развивает несколько виджетов на главном экране мобильного финтех-приложения. Когда мы «пилим» новую фичу, как правило, мы разрабатываем под нее новый микросервис. Я, как системный аналитик команды, проектирую наш будущий сервис и пишу документацию для разработки. Так как почти каждая новая фича требует создания своего микросервиса, мне часто нужно писать под это дело документацию. Поэтому хочу поделиться с хабровчанами тем, как это делается у нас в команде. 

Читать далее

Микросервисная реализация объектно-ориентированных баз данных

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

В настоящее время объектно-ориентированные базы данных (ООБД) не имеют достаточно большого распространения в повседневном использовании, да и более того, не настолько популярны как реляционные базы данных, которые не один десяток лет уже активно поддерживаются различными сообществами и имеют долгую историю применения.

В данной статье рассматривается реализация ООБД в контексте разработки системы, состоящей из микросервисов, на примере Perst и Db4o. Также будет рассмотрена отдельная реализация с документно-ориентированной базой данных MongoDB, работа с которой имеет много общего с ООБД.

Целью данной статьи является рассмотрение практического применения ООБД и решения проблем совместимости с помощью микросервисной архитектуры.

Читать далее

Российский Kubernetes, какой он? Знакомимся с платформой Deckhouse

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

Исследование Statista в России показывает, что около 60% компаний применяют технологию оркестрации контейнеров в рамках своей инфраструктуры. При этом самостоятельная разработка на Open Source для решения этой задачи значительно повышает требования к скиллам команды и характеризуется высокой стоимостью. Другой вариант — облачные PaaS-сервисы, но они зачастую имеют ограниченный набор инструментов, а зарубежные платформы ушли с российского рынка.


Есть ли сегодня в России аналоги западным платформам контейнеризации? Мы решили изучить этот вопрос и пригласили директора по развитию Deckhouse компании «Флант» Артёма Кожокина, чтобы подробно расспросить про их платформу оркестрации контейнеров.


Ниже — ключевые тезисы нашей встречи, а полную расшифровку митапа можно почитать здесь.


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

Как мы выбирали технологию для фронтенда и что из этого вышло

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

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

Читать далее

Про микросервисы на примерах

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

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

И так, эта статья не для разработчиков и опытных архитекторов, а для аналитиков, которые хотят понять, а что же такое микросервисы на самом деле. Пример здесь максимально простой и не претендует на хороший стиль написания кода, чтобы его запустить не нужно обладать вообще никаким ИТ‑бэкграундом и не нужно настраивать никакие IDE.

Приступим?

KeyCloak и микро-сервисы. Как облегчить жизнь программисту

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

Привет! Если ты так же как и я решил использовать keycloak для аутентификации и авторизации в своей микро‑сервисной архитектуре, то я расскажу вам как правильно настроить сам keycloak, его рабочую среду а в конце мы подключим Active Directory к нашему приложению.

Читать далее

Самодостаточный системный подход с применением мультиплатформенного Kotlin

Время на прочтение7 мин
Количество просмотров2.6K
Готов ли мультиплатформенный Kotlin для создания полностековых (веб-)сервисов? Как такая разработка воспринимается с точки зрения тех, кто уже имеет опыт работы с Kotlin? Поделюсь моим опытом по созданию веб-UI для JVM-микросервиса при помощи Kotlin Multiplatform.

image

Введение


Не буду здесь вдаваться в детали о том, с какой целью применяется микросервисный подход, а также не стану углубляться в теорию микросервисов. Начнём этот пост с допущения, что вы хотите улучшить микросервисный ландшафт, имеющийся у вас в настоящий момент, либо собираетесь мигрировать на микросервисную систему, чтобы улучшить удобство использования и/или администрирования – предоставив для этого веб-UI. Идеально, если при этом вы уже знакомы с Kotlin.
Читать дальше →

История о том, как мы на Module Federation съезжали. Часть 1

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

Всем привет! На связи Максим Смирнов, архитектор по фронтенду в Тинькофф. В серии статей будет история о том, как мы переписывали один из монолитных сервисов на Federation.

Расскажу о том монолите, который переписали, и как дошли до момента, что надо распилиться. Еще покажу, какие фишки мы накрутили в Module Federation, потому что из коробки многих фич нет, надо докручивать самим. Добро пожаловать под кат!

Читать далее

Микросервисные приложения на GoMicro

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

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

Читать далее

Гайд по эвент-сорсингу

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

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

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

Читать

Особенности построения CQRS read-модели при использовании доменных событий

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

Микросервисная архитектура в последние годы приобрела большую популярность. Но, несмотря на все ее преимущества, у нее есть и некоторые проблемы. Одна из них — сбор необходимых данных для передачи во фронтэнд. Здесь напрашивается простое и интуитивное решение — паттерн API composition (композиция API). Это решение данной проблемы, но не идеальное. Например, в случае высоконагруженных и высокодоступных систем, вызов нескольких сервисов для создания только одного представления может быть неприемлемым. Нужно придумать что‑то другое. Давайте попробуем CQRS.

Читать далее

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

Работаем с PostgreSQL в Go. Опыт Авито

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

Привет! Меня зовут Дима Вагин, я бэкенд-инженер в Авито. Сегодня расскажу, как мы работаем с БД PostgreSQL из Go. Покажу, какие библиотеки и пулеры соединений мы используем для доставки в код параметров подключения и как мы их настраиваем. А ещё расскажу про проблемы, к которым приводит отмена контекста, и о том, как мы с ними справляемся.

Читать далее

8 вещей, о которых забывают разработчики при переносе приложения в Kubernetes

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

Kubernetes становится стандартом разработки, при этом порог входа в него остается довольно высоким. Вместе с архитектором отдела администрирования сервисов Selectel Михаилом Вишняковым собрали список рекомендаций для разработчиков приложений, которые мигрируют их в оркестратор. Знание перечисленных пунктов позволит избежать потенциальных проблем и не создавать ограничений на месте преимуществ k8s.

Наш субъективный список — под катом. Пополните его своими рекомендациями в комментариях!
Читать дальше →

Wrike Lock: как мы разработали механизм шифрования данных в продукте

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

Привет! Меня зовут Даниил Гранкин, я разработчик внутреннего бэкенд-юнита в Wrike. В этой статье я поделюсь техническими подробностями разработки Wrike Lock — основного механизма шифрования данных в нашем продукте. А также расскажу, для чего мы используем Encryption as a Service (EaaS) и какие проблемы решаем с его помощью. Эта статья будет полезна, если вы ищете способы дистрибуции ключей шифрования, но готовые решения вам не подходят.

Читать далее

Service Mesh на стероидах, часть 2: Zero Deployment Downtime в корпоративных приложениях

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

Если вам доводилось быть в славном городе Мадриде, что на Испанщине, наверняка в галерее Прада вы видели картину Босха «Сад земных наслаждений», которая демонстрирует типичный рабочий день системного архитектора. Но на самом деле на первый день после продакшена больше похоже...

Читать далее

С чем едят микросервисы

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

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

Но для начала поговорим о том, как было плохо раньше.

Читать далее

Выпускайте Кракена: опыт использования KrakenD

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

Привет, Хабр! Меня зовут Владимир Калугин, я руковожу бэкенд-разработкой в МТС Travel. Сегодня расскажу про KrakenD, готовое решение, которое мы используем для реализации API-шлюза, важной штуки для продуктов с микросервисной архитектурой. Уверен, наш опыт может пригодиться разработчикам из других сервисов.

Читать далее

Аутентификация и авторизация в проекте с микросервисной архитектурой: стратегии, практический пример

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

Привет! На связи Олег Казаков из Spectr.  Мы занимаемся разработкой цифровых сервисов, в том числе высоконагруженных систем с микросервисной архитектурой и большим количеством различных интеграций.

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

Читать далее