Микросервисы - это последний 'модный' и горячий тематический раздел в сфере веб-разработки на данный момент, и в наше время владение микросервисами становится все более и более важным в навыках разработчика. Этот курс призван научить вас, как создавать приложение на основе микросервисов, используя .Net для бэкэнд-сервисов и Next.js для клиентского приложения. Мы начинаем с нуля и постепенно создаем приложение до тех пор, пока у нас не будет завершенного приложения, которое мы сможем разместить в кластере Kubernetes в интернете.
В этом курсе рассматриваются следующие темы:
Создание нескольких бэкэнд-сервисов с использованием .Net, предоставляющих функциональность для приложения.
Взаимодействие между сервисами с использованием RabbitMQ и gRPC.
Использование IdentityServer в качестве поставщика идентификации.
Создание шлюза с помощью Microsoft YARP.
Создание клиентского приложения с использованием Next.js с использованием новой функциональности маршрутизации приложений (начиная с Next.js 13.4).
Использование SignalR для передачи уведомлений на клиентское приложение.
Создание образов Docker для различных сервисов.
Настройка рабочих процессов CI/CD с использованием GitHub Actions.
Добавление контроллеров входа.
Размещение приложения локально с использованием Docker Compose.
Основная цель основной части этого курса - создать это приложение и иметь возможность запускать и размещать все локально, не подписываясь и не оплачивая какие-либо облачные услуги. После завершения основной части курса есть 3 дополнительных приложения, которые охватывают:
Юнит-тестирование и интеграционное тестирование.
Размещение локально в Kubernetes.
Размещение приложения в кластере Kubernetes в интернете.
Инструменты, необходимые для этого курса:
В этом курсе все уроки демонстрируются с использованием Visual Studio Code, бесплатного (и фантастического) редактора кода, совместимого с различными операционными системами. Конечно, вы можете использовать любой редактор кода и любую операционную систему, но они должны быть Windows, Linux или Mac. Пожалуйста, убедитесь, что ваш компьютер может запускать Docker, так как это требуется для этого курса.
Для вас ли этот курс?
Этот курс очень практичный, около 90% уроков будут включать в себя совместное программирование над проектом. Если вы тот тип человека, который лучше всего учится, делая, то этот курс точно для вас.
В этом курсе мы создадим пример приложения для аукционов с несколькими сервисами, которые мы будем использовать для обеспечения его функциональности. Для клиентской части мы используем Next.js, чтобы воспользоваться его возможностями как на клиентской стороне, так и на стороне сервера, что идеально подходит для нашего проекта. Вам потребуется только компьютер с вашей любимой операционной системой, способной запускать Docker, и желание научиться создавать приложение на основе микросервисов с использованием .Net и Next.js.
Посмотреть больше
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
Ограничение времени просмотра
Вы можете просматривать пробный урок только 10 минут. Получите полный доступ, чтобы смотреть без ограничений.
Adding a consumer to consume a message from the Service bus
Урок 40.
00:08:59
Publishing the Auction Created event to the bus
Урок 41.
00:10:49
What could go wrong?
Урок 42.
00:13:26
Adding a message outbox
Урок 43.
00:06:36
Using message retries
Урок 44.
00:09:03
Consuming fault queues
Урок 45.
00:04:48
Challenge: Adding the update and delete consumers
Урок 46.
00:06:41
Challenge solution
Урок 47.
00:01:09
Summary of section 4
Урок 48.
00:07:40
Introduction to Section 5
Урок 49.
00:10:30
OAuth and OpenIDConnect
Урок 50.
00:05:01
Creating the Identity Server project
Урок 51.
00:12:52
Reviewing and configuring our new project
Урок 52.
00:17:20
Seeding data and adding a migration
Урок 53.
00:05:50
Reviewing the login page in identity server
Урок 54.
00:08:12
Adding a register page
Урок 55.
00:07:33
Adding a register page part 2
Урок 56.
00:08:34
Adding a register page part 3
Урок 57.
00:12:54
Adding client credentials to allow clients to request a token
Урок 58.
00:06:11
Adding a custom profile service to identity server
Урок 59.
00:06:47
Configuring auth on the resource server
Урок 60.
00:08:06
Configuring the auth endpoints on the resource server
Урок 61.
00:02:48
Summary of section 5
Урок 62.
00:04:12
Introduction to Section 6
Урок 63.
00:06:43
Adding the Gateway service
Урок 64.
00:10:17
Adding the Reverse Proxy configuration
Урок 65.
00:07:23
Adding authentication to the Gateway config
Урок 66.
00:07:55
Testing our Gateway service in Postman
Урок 67.
00:04:45
Adding the remaining contracts we need
Урок 68.
00:10:31
Adding the remaining consumers to the Auction Service
Урок 69.
00:06:20
Adding the remaining consumers in the Search Service
Урок 70.
00:07:11
Adding a new client to the Identity service configuration
Урок 71.
00:01:04
Summary of Section 6
Урок 72.
00:03:57
Introduction to Section 7
Урок 73.
00:04:42
Creating a docker account
Урок 74.
00:14:09
Dockerizing the Auction Service
Урок 75.
00:13:53
Updating our docker compose file for the Auction Service container
Урок 76.
00:08:52
Dockerising the Search service
Урок 77.
00:04:47
Dockerising the Identity Service
Урок 78.
00:11:04
Debugging a .Net service in a docker container
Урок 79.
00:08:06
Dockerising the Gateway Service
Урок 80.
00:11:22
Testing our docker containers
Урок 81.
00:03:04
Summary of Section 7
Урок 82.
00:08:37
Introduction to Section 8
Урок 83.
00:08:05
Creating the NextJS project
Урок 84.
00:11:12
Reviewing and simplifying the NextJS Project
Урок 85.
00:14:58
Creating a nav bar
Урок 86.
00:05:31
Fetching data from the API
Урок 87.
00:05:02
Adding an Auction Card component
Урок 88.
00:13:14
Styling the auction cards
Урок 89.
00:13:03
Adding a countdown timer to the auction card
Урок 90.
00:07:04
Adding loading to the images
Урок 91.
00:06:21
Adding types to the project
Урок 92.
00:08:36
Adding pagination to our list
Урок 93.
00:11:28
Using server functions in client components
Урок 94.
00:09:15
Adding a set page size option
Урок 95.
00:10:04
Using Zustand for state management
Урок 96.
00:10:53
Refactoring our code to use the zustand state
Урок 97.
00:05:34
Adding a search bar
Урок 98.
00:08:29
Adding the search functionality
Урок 99.
00:04:19
Adding a reset to the search function
Урок 100.
00:08:55
Adding the sorting functionality
Урок 101.
00:04:24
Adding the filtering functionality
Урок 102.
00:10:51
Adding a component to display when zero results
Урок 103.
00:01:09
Summary of section 8
Урок 104.
00:03:19
Introduction to Section 9
Урок 105.
00:04:55
Before we begin
Урок 106.
00:12:30
Installing Next Auth into our client app
Урок 107.
00:06:24
Adding the login functionality
Урок 108.
00:12:44
Getting the session details in the client
Урок 109.
00:10:40
Populating the session data
Урок 110.
00:08:59
Populating the User actions dropdown
Урок 111.
00:08:55
Protecting routes
Урок 112.
00:08:08
Testing API authentication
Урок 113.
00:11:03
Getting the access token to use to authenticate to our resource server
Урок 114.
00:05:43
Summary of Section 9
Урок 115.
00:01:33
Introduction to Section 10
Урок 116.
00:06:21
Routing in NextJS
Урок 117.
00:07:39
Getting the auctions won
Урок 118.
00:04:23
Creating an Auction form
Урок 119.
00:09:39
Creating an Auction form part 2
Урок 120.
00:08:55
Creating a reusable text input
Урок 121.
00:07:28
Creating the auction form part 3
Урок 122.
00:09:14
Creating a reusable date input
Урок 123.
00:14:07
Creating a fetch wrapper
Урок 124.
00:10:10
Adding the create auction server action
Урок 125.
00:05:07
Adding react hot toast to display notifications if something goes wrong
Урок 126.
00:09:28
Adding the auction details page content
Урок 127.
00:14:06
Adding the edit auction page
Урок 128.
00:08:43
Adding the delete auction functionality
Урок 129.
00:04:26
Summary of section 10
Урок 130.
00:02:35
Introduction to Section 11
Урок 131.
00:08:46
Creating the Bid Service
Урок 132.
00:04:46
Adding the models to the Bid Service
Урок 133.
00:10:33
Adding an API Controller for the bids
Урок 134.
00:02:19
Adding the get bids endpoint
Урок 135.
00:04:03
Adding the auction created consumer
Урок 136.
00:03:26
Testing the bid functionality in Postman
Урок 137.
00:06:04
Adding the DTOs and Automapper
Урок 138.
00:07:48
Adding a producer for the BidPlaced
Урок 139.
00:07:04
Challenge solution
Урок 140.
00:15:35
Adding a Background service for the auction finished event
Урок 141.
00:05:49
What is gRPC?
Урок 142.
00:13:57
Adding gRPC part 1
Урок 143.
00:06:02
Adding gRPC part 2
Урок 144.
00:12:03
Adding a gRPC client
Урок 145.
00:03:22
Updating the Gateway service
Урок 146.
00:10:36
Dockerising the BidService
Урок 147.
00:01:00
Summary of Section 11
Урок 148.
00:02:14
Introduction to Section 12
Урок 149.
00:05:30
Creating the Notification service
Урок 150.
00:05:17
Adding a SignalR Hub
Урок 151.
00:07:50
Adding the Consumers
Урок 152.
00:05:20
Adding CORS support to the Gateway
Урок 153.
00:02:36
Dockerising the NotificationService
Урок 154.
00:04:34
Updating the Docker compose file
Урок 155.
00:00:57
Summary of section 12
Урок 156.
00:00:33
Introduction to Section 13
Урок 157.
00:09:54
Refactoring the auctions into a zustand store
Урок 158.
00:05:26
Updating the Auction cards with the current high price
Урок 159.
00:03:25
Getting the bids for an auction
Урок 160.
00:09:57
Creating a bid item
Урок 161.
00:09:50
Creating a bid store
Урок 162.
00:14:33
Creating a bid form
Урок 163.
00:06:29
Updating the error handling
Урок 164.
00:05:04
Adding conditionals to the form and testing
Урок 165.
00:14:00
Adding SignalR to the client app
Урок 166.
00:05:02
Adding the new bid to SignalR
Урок 167.
00:06:51
Adding a toast for an auction created
Урок 168.
00:08:14
Adding a toast for an auction finished event
Урок 169.
00:11:46
Disabling the auction finished form when the auction finishes
Урок 170.
00:03:45
Preventing low bids
Урок 171.
00:00:52
Summary Section 13
Урок 172.
00:03:30
Introduction to Section 14
Урок 173.
00:12:03
Preparing the client app
Урок 174.
00:11:44
Creating the Dockerfile for nextjs
Урок 175.
00:15:09
Fixing the identity server issues in docker compose
Урок 176.
00:11:42
Giving the Identity Server a static ip address
Урок 177.
00:10:34
Adding an ingress to Docker compose
Урок 178.
00:07:13
Adding SSL to the ingress
Урок 179.
00:12:27
Final app cleanup and resolving SignalR issue
Урок 180.
00:04:55
End of course summary
Урок 181.
00:10:01
Intro to Appendix A - Testing
Урок 182.
00:13:52
The simplest unit test possible
Урок 183.
00:06:00
Reviewing the code in the Auction controller and what we are testing
Урок 184.
00:08:23
Creating an Auction Repository and interface
Урок 185.
00:04:34
Refactoring the Auctions controller to use the repository
Урок 186.
00:06:02
Mocking things
Урок 187.
00:08:49
Unit testing the GET methods part 1
Урок 188.
00:08:34
Unit testing the GET methods part 2
Урок 189.
00:12:15
Unit testing the POST request
Урок 190.
00:04:19
Challenge - Practicing creating unit tests for the other controller methods
Урок 191.
00:06:07
Challenge solution
Урок 192.
00:08:58
Integration testing setup
Урок 193.
00:10:02
Setting up a Custom web application factory for integration testing
Урок 194.
00:07:41
Adding test data to the DB
Урок 195.
00:11:13
Creating an integration test for the GET method part 1
Урок 196.
00:10:27
Creating an integration test for a GET request part 2
Урок 197.
00:13:39
Creating an integration test for the POST request
Урок 198.
00:01:51
Challenge - Practicing creating integration tests for the other methods
Урок 199.
00:03:11
Challenge solution
Урок 200.
00:10:37
Testing the Service bus
Урок 201.
00:10:39
Using Collection fixtures to share the DB across test classes
Урок 202.
00:09:39
Intro to Appendix B - Kubernetes
Урок 203.
00:12:55
No вЂdepends on’ in Kubernetes - using Polly to retry instead
Урок 204.
00:15:03
Adding a GitHub action to push our Identity Server image to Docker hub
Урок 205.
00:07:24
Deploying our IdentityServer to a Digital Ocean server
Урок 206.
00:10:48
Configuring the Linux server to host the identity server
Урок 207.
00:11:13
Creating the first Kubernetes manifest for a deployment
Урок 208.
00:06:38
Adding a persistent volume claim
Урок 209.
00:04:52
Adding a load balancer to allow us to connect to the postgres deployment
Урок 210.
00:02:50
Adding a cluster ip our services can use
Урок 211.
00:06:55
Creating a deployment for RabbitMQ
Урок 212.
00:04:40
Creating a Mongodb deployment
Урок 213.
00:11:23
Creating the auction service deployment
Урок 214.
00:05:52
Creating the search service deployment
Урок 215.
00:04:55
Creating the bid service deployment
Урок 216.
00:04:07
Creating the notification service deployment
Урок 217.
00:07:11
Creating the gateway service deployment
Урок 218.
00:07:55
Creating the client app deployment
Урок 219.
00:09:54
Adding an nginx ingress controller for docker-compose
Урок 220.
00:09:40
Adding SSL to the ingress controller
Урок 221.
00:16:24
Fixing Identity Server issues
Урок 222.
00:02:55
Introduction to Appendix C
Урок 223.
00:06:46
Kubernetes secrets
Урок 224.
00:06:34
Using a manifest to create secrets
Урок 225.
00:10:08
Updating the rest of the secrets
Урок 226.
00:09:22
Adding a workflow to deploy our Auction service
Урок 227.
00:06:00
Creating a kubernetes cluster on Digital Ocean
Урок 228.
00:07:07
Connecting to our new kubernetes cluster
Урок 229.
00:07:39
Creating a workflow to deploy our manifests automatically
Урок 230.
00:06:38
Dev resources and prod resources
Урок 231.
00:09:41
Creating the other deployment workflows for the other services
Урок 232.
00:06:15
Deploying the secrets and the ingress controller
Урок 233.
00:08:09
Deploying our manifests via github actions
Урок 234.
00:03:37
Checking our deployment
Урок 235.
00:07:42
Getting a domain name to point at our Load balancer
Урок 236.
00:13:49
Tying up the loose ends part 1
Урок 237.
00:04:52
Tying up the loose ends part 2
Урок 238.
00:09:33
Adding SSL to our deployment part 1
Урок 239.
00:09:11
Adding SSL to our deployment part 2
Урок 240.
00:08:12
Finishing up the deployment
Автор - udemy
udemy
Udemy - одна из самых больших площадок в мире по доставке обучающего контента от разных авторов всего мира. Присутсвуют курсы практически на любую тему.
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
.NET Microservices: CQRS & Event Sourcing with Kafka
В этом курсе вы узнаете, как создавать .NET микросервисы, соответствующие паттернам CQRS и Event Sourcing. Вы не будете использовать готовый фреймворк для CQRS, а напишете каждую строку кода, необходимую для создания своего собственного фреймворка для CQRS и Event Sourcing с использованием C# и Apache Kafka. Хотя это может показаться немного сложным, вы будете внимательно сопровождаемы на каждом шаге, и получите все необходимые знания и увереннос
.NET/C# Интервью Мастеркласс - Топ 500 вопросов и ответов
.NET/ C# Interview Masterclass - Top 500 Questions & Answers
Вы перебираете несколько веб-сайтов и видео, чтобы собрать вопросы для интервью? Ваш поиск завершен здесь. В этом банке вопросов охвачены все вопросы для интервью по .NET. Этот курс содержит 200 самых важных вопросов + еще 300 вопросов для практики. Инструктор имеет более 13 лет опыта в технологиях DotNet и провел и прошел более 100 интервью в своей карьере.
DotNext — крупнейшая и старейшая конференция для всех, кто занимается .NET-разработкой. Для любителей узнать, как оно работает «под капотом», в программе всегда есть хардкорные доклады про низкоуровневые оптимизации и неочевидные механики .NET. Но есть многое и для тех, кому важнее «быстро использовать что-то на практике».
C#/.NET: Основы (ООП, LINQ, автоматизация тестирования и многое другое)
C#/.NET Bootcamp: The Fundamentals (OOP, LINQ, Test Automation + more)
Единственный курс, который вам нужен для изучения программирования на C# и овладения платформой .NET. Изучите все с нуля и примените свои навыки на практике с помощью упражнений, викторин и проектов. Этот курс поможет вам получить необходимые навыки для начала карьеры в программировании на C#/.NET и трудоустройства в 2023 году.
Создание приложений с помощью React 17 и ASP.NET Core 6
Building Applications with React 17 and ASP.NET Core 6
С ASP.NET Core мы можем разрабатывать веб-API с помощью C#. С React вы можете создавать современные, быстрые и гибкие веб-приложения. В этом курсе мы будем использовать оба инструмента для создания проекта. Мы сделаем приложение со своей базой данных, пользовательской системой, серверной частью и пользовательским интерфейсом, где вы будете применять на практике концепции, изученные в курсе. В конце мы собираемся опубликовать наши приложения React