JavaSctipt — заполняем нишу между микросервисами и объектами — «нано-сервисы»

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


И даже иногда хочется чтобы было почти как в Erlang.


Идея создания фреймворка для микросервисов для NodeJs удачно воплощалась не единожды — так у нас как минимум есть Seneca и Studio.js, которые безусловно хороши, но они определяют большие логические единицы. С другой стороны у нас есть обычные объекты, разделяемые в системе посредством Dependency Injection или подобной техники, но они не дают должной четкости границ.


Иногда нужны "нано-сервисы".

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

[Перевод] События, процессы и сервисы: современный подход к автоматизации бизнес-процессов

Краткое содержание

  • Использование событийной (event-driven) архитектуры для уменьшения связанности — весьма популярная идея при проектировании микросервисов.
  • Событийная бизнес-логика хорошо подходит для децентрализованных данных и решения проблем сквозной функциональности. Однако, не стоит выстраивать сложные цепочки по передаче событий из сервиса в сервис. Координация сервисов с помощью команд, а не шины сообщений, позволяет еще сильнее их развязать.
  • ESB (Enterprise Service Bus, в контексте статьи — "умная шина" — прим.перев.) плохо сочетается с микросервисной архитектурой. Предпочтительнее использовать простые каналы передачи данных и умных клиентов (smart endpoints, dumb pipes). Но, не отказывайтесь от сервиса-координатора других сервисов только лишь из опасений получить один богоподобный сервис: бизнес-логике все равно нужен дом.
  • Workflow engines прошлого были, в основном, вендоро-зависимы. Так называемые "zero-code" решения — на практике оборачивались сущим кошмаром для разработчиков. В настоящее время существуют легковесные и простые в использовании средства управления workflow, многие из них — с открытым исходным кодом.
  • Не тратьте время на написание своих собственных конечных автоматов. Напротив, используйте готовые решения во избежание сложностей.
...Далее...

Разбор доклада Ивана Круглова «Строим свой Service Mesh»

На каждой крупной регулярной конференции есть докладчики, которые приходят каждый год, рассказывают что-нибудь новое и всегда нравятся аудитории. Всегда быть в самом-самом топе для человека, который не занимается выступлениями профессионально, очень трудно (да и зачем), но всегда выдавать уверенно хороший материал — реально. Один из спикеров, сделавших несколько успешных докладов и на Highload++, и на РИТ++, — Иван Круглов из Booking.com. Несколько дней назад в блоге Онтико уже была статья о подготовке докладчиков, посвящённая больше подаче материала, а сегодня хотелось бы рассказать о другом аспекте подготовки, которым на РИТ++ и Highload++ я в основном и занимаюсь. Давайте на примере последнего выступления Ивана рассмотрим, что важно и над чем мы при подготовке конференции работаем с докладчиками в области содержания.
Слайды тут...Далее...

Просто о микросервисах

Вступление


Чуть ли не каждый второй, кто впервые сталкивается с MSA (Micro Service Architecture), на первых порах восклицает: «Да я эти микросервисы еще …надцать лет назад». Отчасти они правы. И я тоже был из этой самой половины, и не понимал — почему такой шум?



В самом деле! Ведь MSA — это тоже про разработку софта. Какие здесь могут быть революции? Все методики знакомы. В некоторых местах можно даже удивиться: «А разве бывает по-другому»? Фанаты Agile и DevOps тоже скажут, что это всё наше, родное.

Но всё же прошу вас набраться терпения и продолжить читать дальше.

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

Архитектура сервиса сбора и классификации объявлений жилья из Вконтакте


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

DevDay про микросервисы. Запись лучших докладов



В прошлую пятницу мы собрали 140 разработчиков, чтобы поговорить о микросервисах — деплое, координации, согласованности. Делимся с вами записью двух лучших, по мнению участников, выступлений.
Смотрите, что получилось

Микросервисы: деплой, координация и согласованность данных



Про микросервисы не рассказывал только ленивый. Вот и мы не ленивые. Решили поговорить о микросервисах. Но только не ещё раз о том, что это такое, а о том, как мы их сервируем в 2ГИС. Например, наши бекенды держат 15 млн пользователей в месяц. На встрече поговорим о деплое, координации и согласованности данных.
Подробности про DevDay

[Перевод] Сервис-ориентированная архитектура (SOA)


Сервис-ориентированная архитектура (service-oriented architecture, SOA) придумана в конце 1980-х. Она берёт своё начало в идеях, изложенных в CORBA, DCOM, DCE и других документах. О SOA написано много, есть несколько её реализаций. Но, по сути, SOA можно свести к нескольким идеям, причём архитектура не диктует способы их реализации:


  • Сочетаемость приложений, ориентированных на пользователей.
  • Многократное использование бизнес-сервисов.
  • Независимость от набора технологий.
  • Автономность (независимые эволюция, масштабируемость и развёртываемость).

SOA — это набор архитектурных принципов, не зависящих от технологий и продуктов, совсем как полиморфизм или инкапсуляция.

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

[Перевод] Проектируем микросервисную архитектуру с учётом сбоев

Перевод статьи Designing a Microservices Architecture for Failure.

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

В этой статье представлены самые распространённые методики и архитектурные шаблоны для построения и оперирования высокодоступной микросервисной системой.
Читать дальше →

Микросервисы для Java программистов. Практическое введение во фреймворки и контейнеры. (Часть 3)

Перевод книги Кристиана Посты (Christian Posta) Microservices for Java Developers. A Hands-On Introduction to Frameworks & Containers. Продолжение. Предыдущая публикация.

ГЛАВА 1. Микросервисы для Java программистов
(Продолжение)


Проектирование с учетом обязательств


В среде микросервисов с автономными командами и сервисами очень важно иметь в виду взаимоотношения между поставщиком и потребителем сервиса. Как автономная команда обслуживающая сервис, Вы не можете предъявлять какие-либо требования к другим командам и сервисам потому, что Вы не владеете ими, они автономны по определению. Всё, что Вы можете сделать — это выбрать, будете ли Вы принимать или не принимать их обязательства функциональности или поведения. А как поставщик сервиса для других, всё, что Вы можете сделать — это пообещать им определенное поведение. Они вольны в выборе — доверять Вам или нет. Модель теории обязательств впервые предложена Марком Берджессом (Mark Burgess) в 2004 году и описана в его книге «В поисках определенности» (In Search of Certainty, O’Reilly, 2015). Это исследование автономных систем включая человеческие и компьютерные, оказывающие услуги друг другу. Читать дальше →
  • Новее
  • 1


Последние посты