Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
EDITION v7.0 — обновлено до ASP.NET Core 7.0
Обратитесь к списку изменений , чтобы узнать обновления книги и вклады сообщества.
Это руководство представляет собой введение в разработку приложений на основе микрослужб и управление ими с помощью контейнеров. В ней рассматриваются подходы к архитектуре и реализации с помощью контейнеров .NET и Docker.
Чтобы упростить начало работы, руководство сосредоточено на эталонном приложении, основанном на контейнеризации и микросервисах, которое вы можете изучить. Эталонное приложение доступно в репозитории GitHub eShopOnContainers .
Ссылки на действия
Эта электронная книга также доступна в формате PDF (только на английском языке) Download
Клонировать или форкнуть эталонное приложение eShopOnContainers на GitHub
Просмотрите вводное видео
Знакомство с архитектурой микрослужб сразу
Введение
Предприятия все чаще реализуют экономию затрат, решение проблем развертывания и улучшение devOps и производственных операций с помощью контейнеров. Корпорация Майкрософт выпустила инновации контейнеров для Windows и Linux, создавая такие продукты, как Служба Azure Kubernetes и Azure Service Fabric, а также сотрудничая с отраслевыми лидерами, такими как Docker, Mesosphere и Kubernetes. Эти продукты предоставляют решения для контейнеров, которые помогают компаниям создавать и развертывать приложения на облачной скорости и масштабировании, независимо от их выбора платформы или инструментов.
Docker становится де-факто стандартом в отрасли контейнеров, поддерживаемых наиболее значительными поставщиками в экосистемах Windows и Linux. (Корпорация Майкрософт является одним из основных поставщиков облачных служб, поддерживающих Docker. В будущем Docker, вероятно, будет повсеместным явлением в любом центре обработки данных в облаке или на локальных серверах.
Кроме того, архитектура микрослужб становится важным подходом для распределенных критически важных приложений. В архитектуре, основанной на микросервисах, приложение строится на основе коллекции служб, которые можно разрабатывать, тестировать, развертывать и независимо управлять версиями.
Об этом руководстве
Это руководство представляет собой введение в разработку приложений на основе микрослужб и управление ими с помощью контейнеров. В ней рассматриваются подходы к архитектуре и реализации с помощью контейнеров .NET и Docker. Чтобы упростить работу с контейнерами и микрослужбами, в руководстве рассматривается эталонное контейнерное и микрослужбное приложение, которое можно изучить. Пример приложения доступен в репозитории GitHub eShopOnContainers .
Это руководство предоставляет базовые рекомендации по разработке и архитектуре в основном на уровне среды разработки с акцентом на двух технологиях: Docker и .NET. Наше намерение состоит в том, чтобы вы изучали это руководство, размышляя о проектировании вашего приложения, не сосредотачиваясь на инфраструктуре вашей производственной среды (облачной или локальной). Вы будете принимать решения о вашей инфраструктуре позже при создании готовых к работе приложений. Поэтому это руководство предназначено для того, чтобы быть нейтральным к инфраструктуре и более сосредоточенным на средах разработки.
После изучения этого руководства вы узнаете о готовых к работе микрослужб в Microsoft Azure.
Версия
Это руководство было изменено, чтобы охватывать .NET 7 версию вместе с множеством дополнительных обновлений, связанных с той же "волной" технологий (то есть, Azure и дополнительных сторонних технологий), совпадающих во времени с выпуском .NET 7.
Замечание
Новая версия этой электронной книги создается для .NET 8 и нового примера eShop.
Что это руководство не охватывает
Это руководство не посвящено жизненному циклу приложений, devOps, конвейерам CI/CD или работе команды. Дополнительное руководство по жизненному циклу контейнерных приложений Docker с помощью платформы и инструментов Майкрософт посвящено этому вопросу. Текущее руководство также не предоставляет сведения о реализации инфраструктуры Azure, например сведения о конкретных оркестраторах.
Дополнительные ресурсы
-
Жизненный цикл контейнерных приложений Docker с помощью платформы и средств Майкрософт (скачиваемая электронная книга)
https://aka.ms/dockerlifecycleebook
Кто должен использовать это руководство
Мы написали это руководство для разработчиков и архитекторов решений, которые являются новыми для разработки приложений на основе Docker и архитектуры на основе микрослужб. Это руководство предназначено для вас, если вы хотите узнать, как разрабатывать, разрабатывать и реализовывать приложения проверки концепции с помощью технологий разработки Майкрософт (с особым вниманием к .NET) и с контейнерами Docker.
Вы также найдете это руководство полезно, если вы являетесь техническим разработчиком решений, например корпоративным архитектором, который хочет получить обзор архитектуры и технологий, прежде чем решить, какой подход следует выбрать для новых и современных распределенных приложений.
Как использовать это руководство
В первой части этого руководства рассматриваются контейнеры Docker, рассматриваются способы выбора между .NET 7 и .NET Framework в качестве платформы разработки, а также общие сведения о микрослужбах. Это содержимое предназначено для архитекторов и разработчиков технических решений, которые хотят получить обзор, но не нужно сосредоточиться на деталях реализации кода.
Вторая часть руководства начинается с процесса разработки для приложений на основе Docker . Он посвящен шаблонам разработки и микрослужб для реализации приложений с помощью .NET и Docker. Этот раздел будет наиболее интересна разработчикам и архитекторам, которые хотят сосредоточиться на коде и шаблонах и деталях реализации.
Связанные микрослужбы и приложение на базе контейнеров: eShopOnContainers
Приложение eShopOnContainers — это приложение с открытым исходным кодом для .NET и микрослужб, предназначенных для развертывания с помощью контейнеров Docker. Приложение состоит из нескольких подсистем, включая несколько интерфейсов пользовательского интерфейса электронной почты (веб-приложение MVC, веб-SPA и собственное мобильное приложение). Он также включает внутренние микрослужбы и контейнеры для всех необходимых операций на стороне сервера.
Цель приложения — продемонстрировать архитектурные шаблоны. ЭТО НЕ PRODUCTION-READY ШАБЛОН для запуска реальных приложений. На самом деле, приложение находится в постоянном бета-состоянии, так как оно также используется для тестирования новых потенциально интересных технологий, как они появляются.
Отправка отзывов
Эта книга и связанные образцы постоянно развиваются, поэтому ваши отзывы приветствуются. Если у вас есть комментарии о том, как эту книгу можно улучшить, и вы читаете эту книгу на <learn.microsoft.com>, используйте раздел отзывов в нижней части страницы:
Как выделено в предыдущем снимке экрана, раздел отзывов позволяет отправлять отзывы для:
- этот продукт: с использованием формы обратной связи продукта .NET.
- этой странице: использование шаблона проблемы GitHub с сведениями о странице.
Если вы читаете эту книгу в формате PDF, вы можете отправить отзыв, создав новый документации .NET: проблема GitHub или с помощью электронных книг архитектуры .NET: шаблон проблемы GitHub.
Благодарности
Соавторы:
Cesar de la Torre, sr. PM, группа продуктов .NET, Microsoft Corp.
Билл Вагнер, старший разработчик содержимого, C+E, Microsoft Corp.
Майк Rousos, главный инженер программного обеспечения, команда DevDiv CAT, Корпорация Майкрософт
Редакторы:
Майк Папа
Стив Хоаг
Участники и рецензенты:
Джеффри Рихтер, Партнер Software Eng, команда Azure, Корпорация Майкрософт
Джимми Богард, главный архитектор в Headspring
Udi Dahan, основатель и генеральный директор, конкретное программное обеспечение
Джимми Нилссон, соучредитель и генеральный директор Factor10
Гленн Кондрон, старший руководитель программы, ASP.NET команда
Марк Fussell, главный руководитель PM, команда Azure Service Fabric, Корпорация Майкрософт
Диего Вега, руководитель PM, команда Entity Framework, Корпорация Майкрософт
Барри Дорранс, старший менеджер по программе безопасности
Роуэн Миллер, старший менеджер программ, Майкрософт
Ankit Asthana, главный менеджер PM, команда .NET, Корпорация Майкрософт
Скотт Хантер, директор партнера, команда .NET, Корпорация Майкрософт
Nish Anil, старший менеджер программы, команда .NET, Microsoft
Дилан Рейзенбергер, архитектор и руководитель разработки в Polly
Стив "ardalis" Смит - архитектор программного обеспечения и тренер - Ardalis.com
Ян Купер, архитектор программирования в Brighter
Unai Zorrilla, архитектор и руководитель разработки в простых концепциях
Эдуард Томас, ведущий разработчик в Plain Concepts
Рамон Томас, разработчик в Plain Concepts
Дэвид Санз, разработчик в простых концепциях
Хавьер Валеро, главный операционный директор Grupo Solutio
Пьер Миллет, старший консультант, Корпорация Майкрософт
Майкл Фрис, Product Manager, Docker Inc
Чарльз Лоуэлл, инженер программного обеспечения, команда VS CAT, Майкрософт
Мигель Велосо, инженер по разработке программного обеспечения в простых концепциях
Sumit Ghosh, главный консультант в Neudesic
Авторское право
ОПУБЛИКОВАНО
Отдел разработчиков Майкрософт, группы продуктов .NET и Visual Studio
Подразделение Корпорации Майкрософт
Один Microsoft Way
Редмонд, Вашингтон 98052-6399
Авторские права © 2023 корпорации Майкрософт
Все права защищены. Никакие части содержимого этой книги не могут быть воспроизведены или переданы в любой форме или любым способом без письменного разрешения издателя.
Эта книга предоставляется "as-is" и отражает мнения и взгляды автора. Представления, мнения и сведения, выраженные в этой книге, включая URL-адрес и другие ссылки на интернет-сайт, могут изменяться без уведомления.
Некоторые примеры, показанные здесь, приведены только для иллюстрации и являются вымышленными. Никакая реальная ассоциация или связь не предполагается или не должно подразумеваться.
Корпорация Майкрософт и товарные знаки, перечисленные в https://www.microsoft.com на веб-странице "Товарные знаки", являются товарными знаками группы компаний Майкрософт.
Mac и macOS являются товарными знаками Apple Inc.
Логотип кита Docker является зарегистрированным товарным знаком Docker, Inc. Используется по разрешению.
Все остальные знаки и логотипы являются собственностью соответствующих владельцев.