2017-01-15 7 views
3

Хотелось бы узнать, что лучше всего подходит для того, чтобы один Microservice мог взаимодействовать с другим Microservice?Взаимодействие с Microservice

Я развиваюсь в C#. В настоящее время я создал служебную шину, которая передает новые события, созданные из одного Microservice. Затем я использую task runner (WebJob), который расходует сообщения с шины, а затем я использую Http для отправки в другую конечную точку Microservice. Каждый микросервис представляет собой web api.

Я хотел бы спросить, правильно ли я делаю это, если нет, то я рад услышать предложения.

+0

, пожалуйста, взгляните на следующую серию статей, это даст вам довольно хорошее представление об основных драйверах некоторых архитектурных решений в распределенных системах и микросервисах: https://www.tigerteam.dk/2014/micro -services-its-not-only-the-size-that-things-its-also-how-you-use-them-part-2/ – IlliakaillI

+0

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

ответ

0

Ваше занятие - это первый шаг к изготовлению Microservice; делая каждую услугу максимально компактной/независимой/изолированной/уникальной, выставляйте их на хорошо известную (REST) ​​конечную точку и передавайте их сообщениям.

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

Практически существуют рамки для достижения архитектуры Microservice. Akka.net и Azure Service Fabric рекомендуется для разработчиков C#.

Кроме того, вы сказали WebJob и если это Azure WebJobs, почему вы не читали эту большую статью; https://msdn.microsoft.com/en-us/magazine/mt595752.aspx

Надеюсь, это поможет.

+0

Благодарим вас за советы. –

+0

Связь через REST между микросервисами приводит к высокой связи (вводит временную связь), поэтому рекомендуется полагаться на асинхронные стили связи, например. опубликовать-подписать модель. Подумайте о следующем ряде статей: https://www.tigerteam.dk/2014/micro-services-its-not-only-the-size-that-matters-its-also-how-you-use-them -часть 2/ – IlliakaillI

1

Одним из ключевых преимуществ и характеристик микросервисов является децентрализованное управление данными, а это означает, что каждая услуга (т. Е. Каждое приложение служебной ткани) управляет своей собственной базой данных, а любые другие внешние ограниченные контексты должны проходить через API-интерфейс службы, чтобы добраться до него , Я считаю, что одной из самых больших проблем в архитектуре микросервиса является определение ограниченного контекста и то, как он может отражать структуру бизнеса и команды/технологию/геолокацию.

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