[Udemy] Working with Microservices in Go (Golang) (Trevor Sawler) / Работа с микросервисами в Go (Golang) (Тревор Соулер) [ENG] Чему вы научитесь - Узнайте, что такое микросервисы и когда их использовать - Как разрабатывать слабосвязанные одноцелевые приложения, которые работают вместе как распределенное приложение. - Как обмениваться данными между службами с помощью JSON, удаленных вызовов процедур и gRPC - Как отправлять события в микросервисы с помощью Advanced Message Queuing Protocol (AMQP) с помощью RabbitMQ - Как развернуть распределенное приложение в Docker Swarm - Как развернуть распределенное приложение в кластере Kubernetes Требования - Базовое понимание языка программирования Go - Компьютер Macintosh, Windows или Linux с подключением к Интернету. Для кого этот курс - Разработчики Go, которые работали с монолитными приложениями и хотят научиться работать с микросервисами. Описание Долгое время веб-приложения обычно были единым приложением, которое обрабатывало все, другими словами, монолитным приложением. Этот монолит занимался аутентификацией пользователей, ведением журналов, отправкой электронной почты и всем остальным. Хотя это по-прежнему популярный (и полезный) подход, сегодня многие крупномасштабные приложения имеют тенденцию разбивать все на микросервисы . Сегодня большинство крупных организаций сосредоточены на создании веб-приложений с использованием этого подхода, и на то есть веские причины. Микросервисы , также известные как архитектура микросервисов, представляют собой архитектурный стиль, который структурирует приложение как слабосвязанный набор небольших приложений. Архитектура микросервисов обеспечивает быструю и надежную доставку больших и сложных приложений. Вот некоторые из наиболее распространенных функций микросервиса: - его можно поддерживать и тестировать; - он слабо связан с другими частями приложения; - он может быть развернут сам по себе; - он организован вокруг деловых возможностей; - часто им владеет небольшая команда. В этом курсе мы разработаем несколько небольших автономных слабосвязанных микросервисов, которые будут взаимодействовать друг с другом и простым интерфейсным приложением с REST API, с RPC , через gRPC , а также путем отправки и потребления. сообщения с использованием AMQP , Advanced Message Queuing Protocol. Создаваемые нами микросервисы будут включать в себя следующие функции: - Служба переднего плана, которая просто отображает веб-страницы; - Служба аутентификации с базой данных Postgres; - Служба регистрации с базой данных MongoDB; - Служба прослушивателя, которая получает сообщения от RabbitMQ и действует на них; - Брокерская служба, которая является дополнительной единой точкой входа в кластер микросервисов; - Почтовая служба, которая принимает полезную нагрузку JSON, преобразует ее в форматированное электронное письмо и отправляет его. Все эти сервисы будут написаны на языке Go, обычно называемом Golang, который особенно хорошо подходит для создания распределенных веб-приложений. Мы также узнаем, как развернуть наше распределенное приложение в Docker Swarm и Kubernetes , как увеличивать и уменьшать масштаб по мере необходимости, а также обновлять отдельные микросервисы с минимальным временем простоя или вообще без него. Спойлер: Содержание складчины [Udemy] Working with Microservices in Go (Golang) (Trevor Sawler).png [18k 865] 01 Introduction 01 Introduction.mp4 [93m 132k 99] 01 Introduction.srt [13k 779] 02 About me.mp4 [19m 855k 857] 02 About me.srt [1k 643] 03 Installing Go.mp4 [8m 679k 669] 03 Installing Go.srt [1k 267] 03.1 Download Go.html [76] 04 Installing Visual Studio Code.mp4 [8m 93k 863] 04 Installing Visual Studio Code.srt [2k 481] 04.1 Download Visual Studio Code.html [99] 05 Installing Make.mp4 [11m 246k 389] 05 Installing Make.srt [2k 351] 05.1 Chocolately.html [91] 05.2 GNU Make.html [95] 05.3 Homebrew.html [77] 06 Installing Docker.mp4 [5m 862k 986] 06 Installing Docker.srt [1k 392] 06.1 Docker Desktop.html [108] 07 Asking for help.mp4 [24m 396k 36] 07 Asking for help.srt [2k 342] 08 Mistakes. We all make them..mp4 [2m 337k 25] 08 Mistakes. We all make them..srt [1k 975] 02 Building a simple front end and one Microservice 01 What we'll cover in this section.mp4 [5m 422k 184] 01 What we'll cover in this section.srt [978] 02 Setting up the front end.mp4 [5m 434k 719] 02 Setting up the front end.srt [2k 500] 02.1 front-end.zip [8k 409] 03 Reviewing the front end code.mp4 [21m 62k 793] 03 Reviewing the front end code.srt [5k 378] 03.1 source.zip [13k 406] 04 Our first service the Broker.mp4 [81m 818k 941] 04 Our first service the Broker.srt [20k 290] 04.1 source.zip [13k 27] 05 Building a docker image for the Broker service.mp4 [37m 633k 927] 05 Building a docker image for the Broker service.srt [13k 46] 05.1 broker-service.dockerfile.zip [415] 05.2 docker-compose.yml.zip [352] 05.3 source.zip [14k 56] 06 Adding a button and JavaScript to the front end.mp4 [47m 962k 945] 06 Adding a button and JavaScript to the front end.srt [11k 255] 06.1 source.zip [14k 471] 07 Creating some helper functions to deal with JSON and such.mp4 [49m 265k 721] 07 Creating some helper functions to deal with JSON and such.srt [10k 858] 07.1 source.zip [4m 681k 530] 08 Simplifying things with a Makefile (Mac & Linux).mp4 [27m 371k 183] 08 Simplifying things with a Makefile (Mac & Linux).srt [6k 405] 08.1 Makefile.zip [685] 09 Simplifying things with a Makefile (Windows).mp4 [26m 491k 882] 09 Simplifying things with a Makefile (Windows).srt [4k 358] 09.1 Makefile.zip [730] 03 Building an Authentication Service 01 What we'll cover in this section.mp4 [13m 935k 591] 01 What we'll cover in this section.srt [2k 730] 02 Setting up a stub Authentication service.mp4 [62m 614k 948] 02 Setting up a stub Authentication service.srt [16k 284] 02.1 models.go.zip [12k 131] 02.2 source.zip [22k 808] 03 Creating and connecting to Postgres from the Authentication service.mp4 [41m 339k 725] 03 Creating and connecting to Postgres from the Authentication service.srt [10k 970] 03.1 source.zip [30k 892] 04 A note about PostgreSQL.html [1k 100] 05 Updating our docker-compose.yml for Postgres and the Authentication service.mp4 [95m 742k 53] 05 Updating our docker-compose.yml for Postgres and the Authentication service.srt [18k 314] 05.1 source.zip [31k 293] 06 Populating the Postgres database.mp4 [13m 95k 561] 06 Populating the Postgres database.srt [3k 914] 06.1 Beekeeper Studio.html [92] 06.2 users.sql.zip [802] 07 Adding a route and handler to accept JSON.mp4 [52m 133k 955] 07 Adding a route and handler to accept JSON.srt [12k 323] 07.1 source.zip [33k 13] 07.2 tsawlertoolbox.html [95] 08 Update the Broker for a standard JSON format, and conect to our Auth service.mp4 [90m 599k 629] 08 Update the Broker for a standard JSON format, and conect to our Auth service.srt [20k 164] 08.1 source.zip [33k 634] 09 Updating the front end to authenticate thorough the Broker and trying things out.mp4 [46m 940k 265] 09 Updating the front end to authenticate thorough the Broker and trying things out.srt [8k 598] 09.1 source.zip [33k 991] 04 Building a Logger Service 01 What we'll cover in this section.mp4 [8m 290k 9] 01 What we'll cover in this section.srt [1k 497] 02 Getting started with the Logger service.mp4 [45m 282k 661] 02 Getting started with the Logger service.srt [14k 117] 02.1 source.zip [38k 460] 03 Setting up the Logger data models.mp4 [76m 626k 800] 03 Setting up the Logger data models.srt [19k 988] 03.1 source.zip [39k 488] 04 Finishing up the Logger data models.mp4 [49m 324k 722] 04 Finishing up the Logger data models.srt [10k 149] 04.1 source.zip [39k 664] 05 Setting up routes, handlers, helpers, and a web server in our logger-service.mp4 [53m 449k 919] 05 Setting up routes, handlers, helpers, and a web server in our logger-service.srt [10k 866] 05.1 source.zip [42k 255] 06 Adding MongoDB to our docker-compose.yml file.mp4 [42m 346k 80] 06 Adding MongoDB to our docker-compose.yml file.srt [8k 965] 06.1 source.zip [42k 458] 07 Add the logger-service to docker-compose.yml and the Makefile.mp4 [37m 409k 522] 07 Add the logger-service to docker-compose.yml and the Makefile.srt [5k 379] 07.1 source.zip [42k 891] 08 Adding a route and handler on the Broker to communicate with the logger service.mp4 [49m 555k 631] 08 Adding a route and handler on the Broker to communicate with the logger service.srt [7k 753] 08.1 source.zip [43k 795] 09 Update the front end to post to the logger, via the broker.mp4 [31m 330k 856] 09 Update the front end to post to the logger, via the broker.srt [5k 666] 09.1 source.zip [44k 945] 10 Add basic logging to the Authentication service.mp4 [29m 152k 608] 10 Add basic logging to the Authentication service.srt [5k 499] 10.1 source.zip [56k 539] 11 Trying things out.mp4 [24m 5k 704] 11 Trying things out.srt [6k 515] 11.1 MongoDB Compass.html [105] 05 Building a Mail Service 01 What we'll cover in this section.mp4 [9m 862k 269] 01 What we'll cover in this section.srt [2k 56] 02 Adding Mailhog to our docker-compose.yml.mp4 [9m 586k 558] 02 Adding Mailhog to our docker-compose.yml.srt [3k 156] 02.1 source.zip [46k 332] 03 Setting up a stub Mail microservice.mp4 [28m 710k 409] 03 Setting up a stub Mail microservice.srt [6k 841] 03.1 source.zip [49k 657] 04 Building the logic to send email.mp4 [129m 251k 948] 04 Building the logic to send email.srt [32k 132] 04.1 source.zip [52k 790] 05 Building the routes, handlers, and email templates.mp4 [78m 80k 308] 05 Building the routes, handlers, and email templates.srt [14k 547] 05.1 source.zip [54k 525] 06 Challenge Adding the Mail service to docker-compose.yml and the Makefile.mp4 [5m 31k 882] 06 Challenge Adding the Mail service to docker-compose.yml and the Makefile.srt [1k 218] 07 Solution to challenge.mp4 [29m 258k 582] 07 Solution to challenge.srt [5k 858] 07.1 source.zip [55k 63] 08 Modifying the Broker service to handle mail.mp4 [49m 763k 947] 08 Modifying the Broker service to handle mail.srt [10k 104] 08.1 source.zip [55k 238] 09 Updating the front end to send mail.mp4 [82m 587k 438] 09 Updating the front end to send mail.srt [12k 638] 09.1 source.zip [56k 77] 10 A note about mail and security.mp4 [10m 843k 343] 10 A note about mail and security.srt [1k 935] 06 Building a Listener service AMQP with RabbitMQ 01 What we'll cover in this section.mp4 [21m 695k 2] 01 What we'll cover in this section.srt [3k 795] 02 Creating a stub Listener service.mp4 [12m 291k 81] 02 Creating a stub Listener service.srt [4k 802] 02.1 source.zip [57k 251] 03 Adding RabbitMQ to our docker-compose.yml.mp4 [22m 429k 211] 03 Adding RabbitMQ to our docker-compose.yml.srt [6k 598] 03.1 RabbitMQ on Docker Hub.html [94] 03.2 source.zip [57k 288] 04 Connecting to RabbitMQ.mp4 [33m 417k 139] 04 Connecting to RabbitMQ.srt [10k 701] 04.1 source.zip [5m 958k 970] 05 Writing functions to interact with RabbitMQ.mp4 [121m 813k 404] 05 Writing functions to interact with RabbitMQ.srt [32k 405] 05.1 source.zip [5m 950k 393] 06 Adding a logEvent function to our Listener microservice.mp4 [21m 11k 56] 06 Adding a logEvent function to our Listener microservice.srt [3k 801] 06.1 source.zip [5m 961k 39] 07 Updating main.go to start the Listener function.mp4 [15m 104k 288] 07 Updating main.go to start the Listener function.srt [4k 71] 07.1 source.zip [5m 950k 896] 08 Change the RabbitMQ server URL to the Docker address.mp4 [6m 677k 670] 08 Change the RabbitMQ server URL to the Docker address.srt [854] 09 Creating a Docker image and updating the Makefile.mp4 [57m 707k 720] 09 Creating a Docker image and updating the Makefile.srt [8k 257] 09.1 source.zip [80k 801] 10 Updating the broker to interact with RabbitMQ.mp4 [32m 117k 251] 10 Updating the broker to interact with RabbitMQ.srt [6k 241] 10.1 source.zip [83k 194] 11 Writing logic to Emit events to RabbitMQ.mp4 [36m 900k 84] 11 Writing logic to Emit events to RabbitMQ.srt [8k 534] 11.1 source.zip [83k 848] 12 Adding a new function in the Broker to log items via RabbitMQ.mp4 [48m 67k 525] 12 Adding a new function in the Broker to log items via RabbitMQ.srt [8k 430] 12.1 source.zip [84k 73] 13 Trying things out.mp4 [26m 702k 625] 13 Trying things out.srt [6k 341] 07 Communicating between services using Remote Procedure Calls (RPC) 01 What we'll cover in this section.mp4 [19m 488k 905] 01 What we'll cover in this section.srt [3k 342] 02 Setting up an RPC server in the Logger microservice.mp4 [29m 259k 162] 02 Setting up an RPC server in the Logger microservice.srt [7k 298] 02.1 source.zip [85k 510] 03 Listening for RPC calls in the Logger microservice.mp4 [30m 557k 764] 03 Listening for RPC calls in the Logger microservice.srt [6k 331] 03.1 source.zip [90k 457] 04 Calling the Logger from the Broker using RPC.mp4 [37m 132k 387] 04 Calling the Logger from the Broker using RPC.srt [7k 501] 04.1 source.zip [85k 709] 05 Trying things out.mp4 [18m 595k 123] 05 Trying things out.srt [4k 44] 08 Speeding things up (potentially) with gRPC 01 What we'll cover in this section.mp4 [21m 477k 63] 01 What we'll cover in this section.srt [3k 539] 01.1 gRPC website.html [77] 02 Installing the necessary tools for gRPC.mp4 [6m 230k 122] 02 Installing the necessary tools for gRPC.srt [3k 973] 03 Defining a Protocol for gRPC the .proto file.mp4 [15m 697k 196] 03 Defining a Protocol for gRPC the .proto file.srt [6k 804] 03.1 source.zip [86k 294] 04 Generating the gRPC code from the command line.mp4 [46m 756k 850] 04 Generating the gRPC code from the command line.srt [9k 132] 04.1 Protocol Buffer Compiler Installation.html [102] 04.2 source.zip [89k 847] 05 Getting started with the gRPC server.mp4 [32m 443k 148] 05 Getting started with the gRPC server.srt [10k 106] 05.1 source.zip [94k 831] 06 Listening for gRPC connections in the Logger microservice.mp4 [24m 458k 303] 06 Listening for gRPC connections in the Logger microservice.srt [4k 945] 06.1 source.zip [95k 18] 07 Writing the client code.mp4 [65m 207k 432] 07 Writing the client code.srt [14k 776] 07.1 source.zip [104k 956] 08 Updating the front end code.mp4 [21m 275k 154] 08 Updating the front end code.srt [3k 102] 08.1 source.zip [105k 13] 09 Trying things out.mp4 [18m 888k 525] 09 Trying things out.srt [3k 293] 09 Deploying our Distributed App using Docker Swarm 01 What we'll cover in this section.mp4 [33m 596k 199] 01 What we'll cover in this section.srt [5k 137] 01.1 Docker Swarm.html [98] 02 Building images for our microservices.mp4 [13m 472k 366] 02 Building images for our microservices.srt [5k 154] 03 Creating a Docker swarm deployment file.mp4 [53m 383k 956] 03 Creating a Docker swarm deployment file.srt [16k 293] 03.1 swarm.yml.zip [868] 04 Initalizing and starting Docker Swarm.mp4 [20m 0k 454] 04 Initalizing and starting Docker Swarm.srt [6k 963] 05 Starting the front end and hitting our swarm.mp4 [9m 661k 411] 05 Starting the front end and hitting our swarm.srt [3k 756] 06 Scaling services.mp4 [16m 775k 813] 06 Scaling services.srt [5k 29] 07 Updating services.mp4 [22m 348k 775] 07 Updating services.srt [6k 401] 08 Stopping Docker swarm.mp4 [7m 211k 767] 08 Stopping Docker swarm.srt [2k 718] 09 Updating the Broker service, and creating a Dockerfile for the front end.mp4 [40m 270k 71] 09 Updating the Broker service, and creating a Dockerfile for the front end.srt [8k 94] 10 Solution to the Challenge.mp4 [21m 103k 295] 10 Solution to the Challenge.srt [3k 674] 10.1 front-end.dockerfile.zip [286] 10.2 Makefile.mac_linux.zip [1k 244] 10.3 Makefile.windows.zip [1k 281] 11 Adding the Front end to our swarm.yml deployment file.mp4 [8m 758k 858] 11 Adding the Front end to our swarm.yml deployment file.srt [1k 894] 12 Adding Caddy to the mix as a Proxy to our front end and the broker.mp4 [60m 53k 87] 12 Adding Caddy to the mix as a Proxy to our front end and the broker.srt [15k 558] 12.1 caddy.zip [807] 13 Modifying our hosts file to add a backend entry and bringing up our swarm.mp4 [42m 659k 137] 13 Modifying our hosts file to add a backend entry and bringing up our swarm.srt [9k 511] 13.1 Modifying hosts on Windows 1011.html [113] 14 Challenge correcting the URL to the broker service in the front end.mp4 [54m 720k 387] 14 Challenge correcting the URL to the broker service in the front end.srt [10k 560] 14.1 source.zip [105k 80] 15 Solution to challenge.mp4 [9m 205k 286] 15 Solution to challenge.srt [3k 278] 16 Updating Postgres to 14.2 - why monitoring is important!.mp4 [17m 115k 789] 16 Updating Postgres to 14.2 - why monitoring is important!.srt [2k 845] 17 Spinning up two new servers on Linode.mp4 [32m 596k 663] 17 Spinning up two new servers on Linode.srt [6k 896] 17.1 DigitalOcean.html [89] 17.2 Linode.html [83] 17.3 Vultr.html [82] 18 Setting up a non-root account and putting a firewall in place..mp4 [32m 107k 155] 18 Setting up a non-root account and putting a firewall in place..srt [7k 819] 19 Installing Docker on the servers.mp4 [34m 744k 636] 19 Installing Docker on the servers.srt [4k 344] 19.1 Install Docker Engine on Ubuntu.html [136] 20 Setting the hostname for our server.mp4 [14m 277k 826] 20 Setting the hostname for our server.srt [5k 171] 21 Adding DNS entries for our servers.mp4 [27m 797k 378] 21 Adding DNS entries for our servers.srt [9k 230] 22 Adding a DNS entry for the Broker service.mp4 [5m 784k 110] 22 Adding a DNS entry for the Broker service.srt [2k 107] 23 Initializing a manager, and adding a worker.mp4 [9m 394k 802] 23 Initializing a manager, and adding a worker.srt [3k 239] 24 Updating our swarm.yml and Caddy dockerfile for production.mp4 [46m 824k 602] 24 Updating our swarm.yml and Caddy dockerfile for production.srt [9k 828] 25 Trying things out, and correcting some mistakes.mp4 [72m 237k 662] 25 Trying things out, and correcting some mistakes.srt [15k 867] 26 Populating the remote database using an SSH tunnel.mp4 [8m 560k 694] 26 Populating the remote database using an SSH tunnel.srt [3k 835] 26.1 users.sql.zip [802] 27 Enabling SSL certificates on the Caddy microservice.mp4 [77m 411k 42] 27 Enabling SSL certificates on the Caddy microservice.srt [16k 308] 27.1 GlusterFS.html [85] 27.2 sshfs.html [92] 10 Deploying our Distributed App to Kubernetes 01 What we'll cover in this section.mp4 [12m 643k 579] 01 What we'll cover in this section.srt [3k 168] 02 Installing minikube.mp4 [15m 78k 404] 02 Installing minikube.srt [2k 838] 02.1 Minikube.html [101] 03 Installing kubectl.mp4 [21m 601k 86] 03 Installing kubectl.srt [3k 688] 03.1 kubectl.html [100] 04 Initializing a cluster.mp4 [14m 290k 487] 04 Initializing a cluster.srt [4k 649] 05 Bringing up the k8s dashboard.mp4 [12m 51k 940] 05 Bringing up the k8s dashboard.srt [3k 746] 06 Creating a deployment file for Mongo.mp4 [51m 148k 389] 06 Creating a deployment file for Mongo.srt [19k 976] 06.1 k8s.zip [667] 07 Creating a deployment file for RabbitMQ.mp4 [33m 993k 409] 07 Creating a deployment file for RabbitMQ.srt [7k 628] 07.1 k8s.zip [1k 180] 08 Creating a deployment file for the Broker service.mp4 [22m 71k 35] 08 Creating a deployment file for the Broker service.srt [5k 47] 08.1 k8s.zip [1k 652] 09 When things go wrong.mp4 [36m 621k 991] 09 When things go wrong.srt [11k 925] 09.1 k8s.zip [2k 599] 10 Creating a deployment file for MailHog.mp4 [16m 408k 659] 10 Creating a deployment file for MailHog.srt [3k 382] 10.1 k8s.zip [3k 80] 11 Creating a deployment file for the Mail microservice.mp4 [32m 349k 348] 11 Creating a deployment file for the Mail microservice.srt [5k 98] 11.1 k8s.zip [3k 677] 12 Creating a deployment file for the Logger service.mp4 [31m 754k 226] 12 Creating a deployment file for the Logger service.srt [6k 183] 12.1 k8s.zip [4k 173] 13 Creating a deployment file for the Listener service.mp4 [16m 577k 904] 13 Creating a deployment file for the Listener service.srt [2k 971] 13.1 k8s.zip [4k 648] 14 Running Postgres on the host machine, so we can connect to it from k8s.mp4 [18m 139k 896] 14 Running Postgres on the host machine, so we can connect to it from k8s.srt [4k 318] 14.1 postgres.yml.zip [406] 15 Creating a deployment file for the Authentication service.mp4 [27m 30k 924] 15 Creating a deployment file for the Authentication service.srt [5k 137] 15.1 k8s.zip [5k 244] 16 Trying things out by adding a LoadBalancer service.mp4 [36m 695k 465] 16 Trying things out by adding a LoadBalancer service.srt [9k 514] 17 Creating a deployment file for the Front End microservice.mp4 [32m 891k 281] 17 Creating a deployment file for the Front End microservice.srt [6k 436] 17.1 k8s.zip [5k 763] 18 Adding an nginx Ingress to our cluster.mp4 [23m 754k 119] 18 Adding an nginx Ingress to our cluster.srt [6k 492] 18.1 ingress.yml.zip [427] 19 Trying out our Ingress.mp4 [21m 64k 199] 19 Trying out our Ingress.srt [6k 440] 19.1 Edit Windows hosts file.html [137] 20 Scaling services.mp4 [25m 878k 426] 20 Scaling services.srt [5k 409] 21 Updating services.mp4 [9m 435k 480] 21 Updating services.srt [3k 208] 22 Deploying to cloud services.mp4 [44m 955k 149] 22 Deploying to cloud services.srt [8k 471] 22.1 How to configure SSLTLS on Ingress with k8s.html [117] 22.2 ingess_ssl.pdf [327k 649] Объем: 3.72Гб. Курс на английском языке