Микросервисы в Azure - PullRequest
       9

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

0 голосов
/ 20 мая 2018

Я понимаю, что Microservices - это независимые слабо связанные сервисы.Я прочитал https://en.wikipedia.org/wiki/Microservices.

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

Может кто-нибудь предложить, если этот мыслительный процесс правильный?

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Этот вопрос и, конечно же, ответы будут основаны на мнении, но обычно, думая с точки зрения микро-сервисов, думайте не с точки зрения таких вещей, как множество API, виртуальных машин и т. Д. Вместо этого думайте с точки зрения.Когда я загружаю изображение, его необходимо изменить, а таблицу обновить, чтобы получить URL для большого пальца.или когда запись XXX обновляется в базе данных, запустите XXX, чтобы создать отчет, или обновите поиск Azure.и что каждый сервис просто знает, как сделать только одну вещь.IE изменить размер изображения.

Теперь можно сказать.У меня есть система, библиотека репо и библиотека некоторых функций.Когда изображение публикуется, я загружаю его, затем вызываю, и т. Д.

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

Вы можете использовать очередь БД изчто-нибудь.Вы можете использовать очередь Blob из чего угодно.Ваш основной API, не важно, как обрабатываются изображения.Вы можете изменить свои функции в один прекрасный день, чтобы сохранить их в Dropbox, вместо Azure BLOB-объектов.Все действительно просто, без перестройки API, потому что API не волнует.

Хороший пример, для которого я его использую - это электронная почта и SMS.Мои системы не знают, как отправить электронное письмо или SMS.Они только знают, как добавить в очередь.Мои микросервисы.SendEmail и SendSMS знают, как это сделать, и я могу очень легко изменить, как и кому я отправляю этот контент.Завтра я могу перейти от Twilio к отправке сетки, даже не сообщая API, что я это сделал.

На более сложную вещь.У меня есть одобрение, в тот момент, когда оно отправляет электронное письмо или SMS пользователю или администратору, и оно может со временем измениться.Итак, у меня есть сервер SMS, служба электронной почты и служба одобрения.когда происходит одобрение, он просто добавляет конфигурацию в очередь. Все остальное выполняет приложение логики, которое знает, как отправить электронное письмо в XXX и SMS в XXX, а затем обновить базу данных.Мой API, просто пост, который создает очередь.

По сути, я говорю здесь, чтобы начать, возможно, портирование существующего приложения.Начните с рабочего процесса, например, отправьте электронное письмо, измените размер изображения, создайте отчет, создайте PDF, отправьте 50 подписчиков по электронной почте и т. Д., Извлеките весь этот код и поместите его в собственный микро-сервис, который просто знает, как сделать что-то одно.Затем, когда вы будете уверенно расти, создайте рабочий процесс из всех этих сервисов с помощью приложений логики, и пусть Azure позаботится обо всем остальном, вот что они хотят.

0 голосов
/ 21 мая 2018

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...