2015-07-02 2 views
4

Я пытаюсь понять микросервисы. Может кто-нибудь объяснить мне, как это работает? Я просмотрел несколько руководств и все еще смущен.Микросервисы объяснены

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

мне нужно будет сделать следующее

  • Создание учетной записи
  • Charge клиента
  • Получить список предметов для продажи и т.д.

ответ

1

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

Следующие http://martinfowler.com/articles/microservices.html микросервисы не должны быть слишком маленькими и не слишком большими.

Насколько велика микросервис?

Несмотря на то, что «микросервис» стал популярным названием для этого архитектурного стиля, его название приводит к печальному сосредоточению на размере обслуживания и аргументам о том, что составляет «микро». В наших беседах с практиками микросервиса мы видим ряд размеров услуг. Самые крупные размеры сообщают о том, что Amazon представила команду Two Pizza Team (т. Е. Всю команду можно кормить двумя пиццами), что означает не более дюжины человек. На шкале меньшего размера мы видели установки, в которых команда из полудюжины поддерживала бы полдюжины услуг.

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

В Вашей корзине приложения Я думаю, что вы можете иметь следующие услуги:

  1. Финансовые услуги (создание счетов, обработка платежей, и т.д ..)
  2. Логистический сервис (отправка продукции, создание заказов, и т.д ..)
  3. API подключения услуги
  4. Frontend говорить с API
1

Вы можете прочитать мою статью, чтобы понять принципы дизайна https://techietweak.wordpress.com/2015/07/05/mdp/.
Я бы также предложил книгу «Строительные микроэлементы».

Microservices:

Micro услуга являются небольшими автономными системами, которые обеспечивают решение, которое является уникальным, отличным в эко-системе. Он работает как модуль полного стека и взаимодействует с другими микросервисами, входящими в экосистему. Сэм Ньюман определяет, что микросервисы «Маленькие, сосредоточенные и очень хорошо работают» в своей книге «Building Microservices».

Микросервисы создаются путем нарезки и обрезки одной большой монолитной системы во многие независимые автономные системы. Он также может быть дополняемым дополняющим компонентом для совместной работы с существующей системой как новым компонентом или проектом с зеленым полем.

1

Microservice - это архитектурный стиль, который плохо определен. Есть несколько сообщений в блогах, эссе, а теперь книга (Building Microservices Сэма Ньюмана), которые пытаются объяснить микросервисы. Но это стало модным словом, и ожидаемые характеристики (например, «разработанные командой, которая может быть подана 1 или 2 пиццами») варьируются от одного автора к другому. Если мы отфильтровываем шум, я считаю, что отличительным фактором является то, что для микросервисов блок развертывания должен содержать только одну услугу или всего лишь несколько связных сервисов. Я исследую эту точку в short blog post.

В вашем примере, при прочих равных условий, вы бы иметь различные microservices, такие как:

  • счет (регистрация самости, сброс пароля, логин и т.д.)
  • каталога (пункты с их ценой , описание и биржевой информации, а также возможности поиска)
  • заказа на поставку

Эти услуги, как ожидается, общаться между собой с помощью HTTP (REST) ​​и/или события с помощью брокер сообщений. И ваш дизайн должен минимизировать связь между микросервисами. Как это сделать? Одна из идей заключается в разработке микросервисов вокруг ограниченного контекста DDD. В любом случае, микросервисы не являются хорошей идеей во всех случаях, и вы должны знать об tradeoffs involved.

0

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

И я думаю, имеет смысл понять это с точки зрения SOA, которая была там на некоторое время. Адриан Кокрофт в Netflix, описывает Microservices как мелкозернистый SOA.

Я нашел несколько действительно интересных ссылок, которые объясняют микросервисы достаточно хорошо и подробно. Вот некоторые из них:

http://martinfowler.com/articles/microservices.html

http://microservices.io/patterns/microservices.html

Я также писал о нем более here.

Смежные вопросы