Как стать автором
Поиск
Написать публикацию
Обновить
107.98

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

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

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

Конференция QCon. Овладение хаосом: руководство Netflix для микросервисов. Часть 4

Время на прочтение7 мин
Количество просмотров2.5K
Джош Эванс рассказывает о хаотичном и ярком мире микросервисов Netflix, начиная с самых основ — анатомии микросервисов, проблем, связанных с распределенными системами и их преимуществ. Опираясь на этот фундамент, он исследует культурные, архитектурные и операционные методы, которые ведут к овладению микросервисами.

Как настроить real-time data processing на летящем корабле

Время на прочтение8 мин
Количество просмотров9.4K
Привет! Меня зовут Алексей Скоробогатый, я системный архитектор в Lamoda.
Недавно мы внесли большие изменения в нашу e-commerce платформу: перешли к событийной (events driven) архитектуре и добавили обработку данных в реальном времени. На этом примере я хочу поделиться опытом того, как мы реализуем эволюционный подход к изменению архитектуры.

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

2.07 онлайн-митап про микросервисы и Unit-тесты

Время на прочтение1 мин
Количество просмотров1.5K
В четверг 2 июля собираемся обсудить очередной опыт распила монолита и рассказать, как Unit-тестирование сокращает время разработки. Старт в 16:00 мск, в 17:00 по Ижевску.

Участие бесплатно, нужна регистрация.

«Упрощаем себе жизнь с помощью Unit-тестирования»


Юнит-тесты повышают скорость разработки согласны?

  • расскажу, почему нетестируемые проекты увеличивают сроки релизов;
  • приведу аргументы в пользу написания юнит-тестов. Рассмотрим, почему хороший дизайн тестируемый, а обратное — неверно;
  • плохие юнит-тесты хуже, чем ничего. Поговорим про требования к юнит-тестам. Например, почему важна изолированность или скорость выполнения тестов;
  • расскажу про лучшие практики юнит-тестирования с примерами на NUnit.

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

Конференция QCon. Овладение хаосом: руководство Netflix для микросервисов. Часть 3

Время на прочтение7 мин
Количество просмотров2.2K
Джош Эванс рассказывает о хаотичном и ярком мире микросервисов Netflix, начиная с самых основ — анатомии микросервисов, проблем, связанных с распределенными системами и их преимуществ. Опираясь на этот фундамент, он исследует культурные, архитектурные и операционные методы, которые ведут к овладению микросервисами.

Конференция QCon. Овладение хаосом: руководство Netflix для микросервисов. Часть 2

Время на прочтение7 мин
Количество просмотров3.6K
Джош Эванс рассказывает о хаотичном и ярком мире микросервисов Netflix, начиная с самых основ — анатомии микросервисов, проблем, связанных с распределенными системами и их преимуществ. Опираясь на этот фундамент, он исследует культурные, архитектурные и операционные методы, которые ведут к овладению микросервисами.

Конференция QCon. Овладение хаосом: руководство Netflix для микросервисов. Часть 1

Время на прочтение8 мин
Количество просмотров6.2K
Джош Эванс рассказывает о хаотичном и ярком мире микросервисов Netflix, начиная с самых основ — анатомии микросервисов, проблем, связанных с распределенными системами и их преимуществ. Опираясь на этот фундамент, он исследует культурные, архитектурные и операционные методы, которые ведут к овладению микросервисами.

Около 15 лет назад моя мачеха, назовем ее Фрэнсис, стала чувствовать боль и слабость во всем теле, ей стало трудно стоять, и когда врачи в больнице немного привели ее в себя, у нее обнаружился паралич рук и ног. Это было ужасное испытание для нее и для нас, как оказалось, диагнозом стал синдром Гийона-Барре. Мне просто любопытно, кто-нибудь из вас слышал о такой болезни? О, довольно много людей! Надеюсь, вы получили эту информацию не из первых рук. Это аутоиммунное заболевание, острый полирадикулоневрит, при котором иммунная система человека поражает собственные периферические нервы.



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

.NET Core: Взаимодействие микросервисов через Web api

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

Введение


Практически все, кто имел дело с микросервисами в .NET Core, наверняка знают книгу Кристиана Хорсдала “Микросервисы на платформе .NET”. Здесь прекрасно описаны подходы к построению приложения на основе микросервисов, подробно рассмотрены вопросы мониторинга, журналирования, управления доступом. Единственное, чего не хватает — это инструмента автоматизации взаимодействия между микросервисами.

При обычном подходе при разработке микросервиса параллельно разрабатывается web-клиент для него. И каждый раз, когда меняется web-интерфейс микросервиса, приходится затрачивать дополнительные усилия для соответствующих изменений web-клиента. Идея генерировать пару web-api/web-клиент с использованием OpenApi тоже достаточно трудоемка, хотелось бы чего-то более прозрачного для разработчика.

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

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

Web-клиент для микросервиса должен генерироваться автоматически на основе интерфейса и предоставляться через Dependency Injection.

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

Что такое Service Mesh?

Время на прочтение5 мин
Количество просмотров82K
И снова здравствуйте!.. В преддверии старта курса «Архитектор ПО» мы подготовили еще один полезный перевод.




Service Mesh – это конфигурируемый инфраструктурный уровень с низкой задержкой, который нужен для обработки большого объема сетевых межпроцессных коммуникаций между программными интерфейсами приложения (API). Service Mesh обеспечивает быструю, надёжную и безопасную коммуникацию между контейнеризированными и часто эфемерными сервисами инфраструктуры приложений. Service Mesh предоставляет такие возможности, как обнаружение сервисов, балансировку нагрузки, шифрование, прозрачность, трассируемость, аутентификацию и авторизацию, а также поддержку шаблона автоматического выключения (circuit breaker).
Читать дальше →

Backend United #6: Табаско — разработчики о безопасности

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

Привет! 25 июня в 18:00 по Москве пройдёт шестой митап в серии Backend United под кодовым названием «Табаско». Вещаем в онлайн-формате. Тема митапа — безопасность. Будем говорить об обнаружении и предотвращении ошибок при написании и эксплуатации кода, которые могут привести к проблемам с секьюрностью.


Традиционно для Backend United речь пойдёт о технологиях и подходах, не завязанных на конкретный язык программирования. Под катом — тезисы выступлений и ссылка на трансляцию.


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

Мониторинг микросервисных приложений: взгляд SRE

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


Современная инфраструктура — множество небольших приложений, запущенных в контексте одного менеджера приложений, который упра'вляет их количеством, обновлением и запросами на ресурсы. Она является таковой не потому, что админы решили, будто так удобно ею управлять. Такая инфраструктура отражает текущее мышление в области разработки программного обеспечения. Для того чтобы понять, почему мы сейчас говорим о микросервисной архитектуре как об идеологии, необходимо вернуться на 30 лет назад.
Читать дальше →

Как готовить коллтрекинг: опыт Циан

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

Меня зовут Слава, я тимлид одной из продуктовых команд в Циан, которая развивает коллтрекинг. Сегодня хочу рассказать, как читателю Хабра завести коллтрекинг в своем проекте, с какими возможными трудностями предстоит столкнуться и о чем точно стоит подумать заранее.
Читать дальше →

Мьютекс в мире асинхронного кода

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

failed guard


Фото: James P. Blair/National Geographic Creative


Вы когда-нибудь сталкивались со следующей проблемой в rust, когда использовали std::sync::Mutex в асинхронном коде?


 7  |     tokio::spawn(/* some future here */);
    |     ^^^^^^^^^^^^ future returned by `fut` is not `Send`
    |
127 |         T: Future + Send + 'static,
    |                     ---- required by this bound in `tokio::task::spawn::spawn`
    |
Читать дальше →

Эволюция монолитного приложения в микросервисы

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

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


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


  • В первой части будет рассмотрено монолитное приложение на веб-фреймворке Dash, т.е. генерация данных и их отображение будут находиться в одном месте.
  • Вторая часть посвящена разложению монолитного приложения на микросервисы, т.е. генерацией данных будет заниматься один сервис, отображением другой, а связь между ними будет налажена через брокер сообщений Kafka.
  • В третьей части микросервисы будут "упакованы" в Docker контейнеры.

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


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

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

Дихотомия данных: переосмысление отношения к данным и сервисам

Время на прочтение9 мин
Количество просмотров2.2K
Всем привет! У нас отличные новости, в июне OTUS снова запускает курс «Архитектор ПО», в связи с чем мы традиционно делимся с вами полезным материалом.




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

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

Практикумы от IBM: Quarkus (сверхбыстрая Java для микросервисов), Jakarta EE и OpenShift

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

Всем привет! Мы уже тоже подустали от вебинаров, их количество за последние пару месяцев перевалило все возможные границы. Поэтому для хабра стараемся подбирать для вас самые интересные и полезные).

На начало июня (надеемся, лето все-таки наступит) мы запланировали несколько практических сессий, которые, уверены, будут интересны разработчикам. Во-первых — расскажем про serverless и новейший сверхбыстрый quarkus (как вам, например, 14мс холодного старта?), во-вторых — Альберт Халиулов расскажет про особенности облачной разработки на Jakarta EE, Microprofile и Docker (каждому участнику выдадим готовую виртуалку для практикума). Ну и наконец 9 июня Валерий Корниенко расскажет как можно развернуть свой OpenShift в IBM Cloud за пару минут. Интересно? Если да — детали под катом.
Читать дальше →

Кривая хайпа: какие IT-технологии сейчас на пике и на что останется стабильный спрос

Время на прочтение4 мин
Количество просмотров10K
В 2017 году спрос на блокчейн-разработчиков рос вместе с курсом биткоина. Количество вакансий снизилось, когда рынок разочаровался в новой технологии. Вместе с представителями Mail.ru Cloud Solutions, Red Hat, Acronis, «Рексофт», SEMrush и Bilderlings разобрались, какие технологии популярны сейчас и на изучение чего стоит тратить время.
Читать дальше →

Правильные графики Covid-19

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

Во времена повсеместной одержимости библиотеками и веб-фреймворками мы стали забывать радость от решения задач минимальными средствами. В этой статье, мы запилим веб-сервис на актуальную тему, используя ванильные Python и JavaScript, а также, задеплоим его в GitLab Pages. Быстро, минималистично, без лишних зависимостей, и максимально элегантно.


Вдохновившись видосом How To Tell If We're Beating COVID-19 от minutephysics, я набросал в свободное (от удаленной работы и домашних дел) время сервис, который на основе данных с Карты распространения коронавируса в России и мире от Яндекса строит графики, аналогичные тем, что на странице Covid Trends. Вот, что из этого вышло:



Интересно? Погнали!

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

Kubernetes: open source против вендорского

Время на прочтение7 мин
Количество просмотров14K
Привет, меня зовут Дмитрий Краснов. Уже более пяти лет я занимаюсь администрированием кластеров Kubernetes и построением сложных микросервисных архитектур. В начале этого года мы запустили сервис по управлению кластерами Kubernetes на базе Containerum. Пользуясь поводом расскажу, что представляет собой этот самый Kubernetes и чем интеграция с вендором отличается от open source.

Для начала, что такое Kubernetes. Это система для управления контейнерами на большом количестве хостов. С греческого, кстати, переводится как «пилот» или «рулевой». Изначально разработана Google, после чего в качестве технологического вклада передана Cloud Native Computing Foundation, международной некоммерческой организации, которая объединяет ведущих мировых разработчиков, конечных пользователей и поставщиков контейнерных технологий.


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

Опыт внедрения Service Mesh на Nomad и Consul

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

В этой статье мы расскажем, как развернули Service Mesh, решили часть проблем микросервисной архитектуры и уменьшили нагрузку на разработчиков и инженеров инфраструктуры.

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

Проектирование Kubernetes-кластеров: сколько их должно быть?

Время на прочтение10 мин
Количество просмотров12K
Прим. перев.: этот материал от образовательного проекта learnk8s — ответ на популярный вопрос при проектировании инфраструктуры на базе Kubernetes. Надеемся, что достаточно развёрнутые описания плюсов и минусов каждого из вариантов помогут сделать оптимальный выбор и для вашего проекта.



TL;DR: один и тот же набор рабочих нагрузок можно запустить на нескольких крупных кластерах (на каждый кластер будет приходиться большое число workload'ов) или на множестве мелких (с малым числом нагрузок в каждом кластере).

Ниже приведена таблица, в которой оцениваются плюсы и минусы каждого подхода:
Читать дальше →