Хорошая практика микросервиса. NET - PullRequest
0 голосов
/ 03 мая 2020

Я новичок ie в "мире микросервисов", и у меня есть несколько вопросов.
Как я понимаю, микросервисы - это группы небольших независимых частей с разными слоями данных, которые создали одно логическое целое (пример - у магазинов есть заказ, склад и т. Д. c).
Мой инструмент - NET. Вопрос:

  1. Может ли проект моего микросервиса включать как веб-API, так и веб-службы? Это нормально с принципами микросервисной арки?
    • Если ответ «да», то лучше ли размещать веб-API в одном решении, а веб-сервис в другом или в одном решении, но в отдельных проектах (Visual Studio)?
    • Тот же вопрос для API-шлюз, лучше ли иметь отдельное решение для API-шлюза?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 04 мая 2020

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

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

Тем не менее, при организации проекта убедитесь, что ваши службы слабо связаны. Часто это самая большая ошибка в новом проекте микросервисов. Службы не разделены должным образом, и в результате проект усложняется, не получая выгоды (или того хуже). Если вы не знаете, как это сделать, убедитесь, что вы правильно исследовали, что означает слабая связка.

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

0 голосов
/ 04 мая 2020

Почему вы хотите использовать сервис и API одновременно? Вот ключевое отличие между сервисом и API.

1) Веб-сервис используется для REST, SOAP и XML -RP C для связи, в то время как API используется для любого стиля связи.

2) Веб-сервис поддерживает только протокол HTTP, в то время как API поддерживает протокол HTTP / HTTPS.

3) Веб-сервис поддерживает XML, в то время как API поддерживает XML и JSON, поэтому API являются легковесными по сравнению с веб-сервисом.

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

...