Backend Master Class [Golang + Postgres + Kubernetes + gRPC]
后端大师班 [Golang + Postgres + Kubernetes + gRPC]

Learn everything about backend web development: Golang, Postgres, Redis, Gin, gRPC, Docker, Kubernetes, AWS, CI/CD
了解有关后端 Web 开发的所有信息:Golang、Postgres、Redis、Gin、gRPC、Docker、Kubernetes、AWS、CI/CD

教程演示🔗

 

What you’ll learn 学习内容

  • Design database schema using DBML and automatically generate SQL code from it
    使用 DBML 设计数据库架构并从中自动生成 SQL 代码
  • Deeply understand the DB isolation levels, transactions and how to avoid deadlock
    深入了解数据库隔离级别、事务以及如何避免死锁
  • Automatically generate Golang code to interact with the database
    自动生成 Golang 代码与数据库交互
  • Develop a RESTful backend web service using the Gin framework
    使用 Gin 框架开发 RESTful 后端 Web 服务
  • Secure the APIs with user authentication, JWT and PASETO
    使用用户身份验证、JWT 和 PASETO 保护 API
  • Write stronger test set with high coverage using interfaces and mocking
    使用接口和模拟编写具有高覆盖率的更强大的测试集
  • Build a minimal Docker image for deployment and use Docker-compose for development
    构建用于部署的最小 Docker 映像,并使用 Docker-compose 进行开发
  • Set up Github Action to automatically build and deploy the app to AWS Kubernetes cluster
    设置 Github Action 以自动构建应用程序并将其部署到 AWS Kubernetes 集群
  • Register a domain and config Kubernetes ingress to route traffic to the web service
    注册域并配置 Kubernetes 入口以将流量路由到 Web 服务
  • Enable automatic issue & renew TLS certificate for the domain with Let’s Encrypt
    使用 Let’s Encrypt 为域启用自动颁发和续订 TLS 证书
  • Take your web service to the next level with gRPC and gRPC gateway
    使用 gRPC 和 gRPC 网关将 Web 服务提升到一个新的水平
  • Run background workers to process tasks asynchronously with Redis and Asynq
    运行后台工作线程以使用 Redis 和 Asynq 异步处理任务

Requirements 要求

  • Only basic programming skill is needed
    只需要基本的编程技能
  • If you’re new to Go, I suggest learning its syntax first on the “Tour of Go” website
    如果你是围棋新手,我建议你先在“围棋之旅”网站上学习它的语法

Description 描述

In this course, you will learn step-by-step how to design, develop and deploy a backend web service from scratch. I believe the best way to learn programming is to build a real application. Therefore, throughout the course, you will learn how to build a backend web service for a simple bank. It will provide APIs for the frontend to do the following things:
在本课程中,您将逐步学习如何从头开始设计、开发和部署后端 Web 服务。我相信学习编程的最好方法是构建一个真正的应用程序。因此,在整个课程中,您将学习如何为简单的银行构建后端 Web 服务。它将为前端提供 API 来执行以下操作:

  • Create and manage bank accounts.
    创建和管理银行账户。

  • Record all balance changes to each of the accounts.
    记录每个账户的所有余额变化。

  • Perform a money transfer between 2 accounts.
    在 2 个账户之间进行汇款。

The programming language we will use to develop the service is Golang, but the course is not just about coding in Go. You will learn a lot of different topics regarding backend web development. They are presented in 6 sections:
我们将用于开发服务的编程语言是 Golang,但该课程不仅仅是关于用 Go 编码。您将学习有关后端 Web 开发的许多不同主题。它们分为 6 个部分:

  1. In the 1st section, you will learn deeply about how to design the database, generate codes to talk to the DB in a consistent and reliable way using transactions, understand the DB isolation levels, and how to use it correctly in production. Besides the database, you will also learn how to use docker for local development, how to use Git to manage your codes, and how to use GitHub Action to run unit tests automatically.
    在第 1 部分中,您将深入学习如何设计数据库、生成代码以使用事务以一致且可靠的方式与数据库通信、了解数据库隔离级别以及如何在生产中正确使用它。除了数据库之外,您还将学习如何使用 docker 进行本地开发,如何使用 Git 管理代码,以及如何使用 GitHub Action 自动运行单元测试。

  2. In the 2nd section, you will learn how to build a set of RESTful HTTP APIs using Gin – one of the most popular Golang frameworks for building web services. This includes everything from loading app configs, mocking DB for more robust unit tests, handling errors, authenticating users, and securing the APIs with JWT and PASETO access tokens. 
    在第 2 部分中,您将学习如何使用 Gin 构建一组 RESTful HTTP API,Gin 是用于构建 Web 服务的最流行的 Golang 框架之一。这包括从加载应用程序配置、模拟数据库以获得更强大的单元测试、处理错误、验证用户以及使用 JWT 和 PASETO 访问令牌保护 API 的所有内容。

  3. In the 3rd section, you will learn how to build your app with Docker and deploy it to a production Kubernetes cluster on AWS. The lectures are very detailed with a step-by-step guide, from how to build a minimal docker image, set up a free-tier AWS account, create a production database, store and retrieve production secrets, create a Kubernetes cluster with EKS, use GitHub Action to automatically build and deploy the image to the EKS cluster, buy a domain name and route the traffics to the service, secure the connection with HTTPS and auto-renew TLS certificate from Let’s Encrypt.
    在第 3 部分中,您将学习如何使用 Docker 构建应用程序并将其部署到 AWS 上的生产 Kubernetes 集群。这些讲座非常详细,并提供了分步指南,包括如何构建最小 docker 映像、设置免费套餐 AWS 账户、创建生产数据库、存储和检索生产密钥、使用 EKS 创建 Kubernetes 集群、使用 GitHub Action 自动构建映像并将其部署到 EKS 集群、购买域名并将流量路由到服务、 使用 HTTPS 保护连接并自动续订 Let’s Encrypt 的 TLS 证书。

  4. In the 4th section, we will discuss several advanced backend topics such as managing user sessions, building gRPC APIs, using gRPC gateway to serve both gRPC and HTTP requests at the same time, embedding Swagger documentation as part of the backend service, partially updating a record using optional parameters, and writing structured logger HTTP middlewares and gRPC interceptors.
    在第 4 部分中,我们将讨论几个高级后端主题,例如管理用户会话、构建 gRPC API、使用 gRPC 网关同时为 gRPC 和 HTTP 请求提供服务、将 Swagger 文档嵌入为后端服务的一部分、使用可选参数部分更新记录以及编写结构化记录器 HTTP 中间件和 gRPC 拦截器。

  5. Then the 5th section will introduce you to asynchronous processing in Golang using background workers and Redis as its message queue. We’ll also learn how to create and send emails to users via Gmail SMTP server. Along the way, we’ll learn more about writing unit tests for our gRPC services that might involve mocking multiple dependencies at once.
    然后,第 5 部分将向您介绍 Golang 中的异步处理,使用后台工作线程和 Redis 作为其消息队列。我们还将学习如何通过 Gmail SMTP 服务器创建电子邮件并将其发送给用户。在此过程中,我们将详细了解如何为 gRPC 服务编写单元测试,这可能涉及一次模拟多个依赖项。

  6. The final section 6th concludes the course with lectures about how to improve the stability and security of the server. We’ll keep updating dependency packages to the latest version, use Cookies to make the refresh token more secure, and learn how to gracefully shut down the server to protect the processing resources. As this part is still a work in progress, we will keep making and uploading new videos about new topics in the future. So please come back here to check them out from time to time.
    最后一部分 6 以关于如何提高服务器稳定性和安全性的讲座结束了课程。我们将继续将依赖项包更新到最新版本,使用 Cookie 使刷新令牌更安全,并了解如何正常关闭服务器以保护处理资源。由于这部分仍在进行中,我们将在未来继续制作和上传有关新主题的新视频。因此,请不时回到这里查看它们。

This course is designed with a lot of details, so that everyone, even those with very little programming experience can understand and do it by themselves. I firmly believe that after the course, you will be able to work much more confidently and effectively on your projects.
本课程设计了很多细节,让每个人,即使是编程经验很少的人也能理解并自己做。我坚信,完成课程后,您将能够更加自信和有效地完成您的项目。

Who this course is for:
本课程适用于谁:

  • Anyone who wants to learn about backend web service development using Golang, Postgres, Docker & Kubernetes
    任何想要了解使用 Golang、Postgres、Docker 和 Kubernetes 进行后端 Web 服务开发的人
  • The course is designed so that even a beginner with very basic programming skills can understand
    该课程的设计使即使是具有非常基本的编程技能的初学者也可以理解
  • But I’m sure even developers with more experienced (intermediate level) can still learn something new
    但我敢肯定,即使是经验更丰富(中级)的开发人员仍然可以学到新东西

发表回复

后才能评论

尊敬的用户,您好!由于部分培训机构和留学生的举报,近期导致网站大量链接暂时失效。对此给您带来的不便,我们深表歉意。任何链接失效的资源,欢迎您添加侧边栏二维码随时反馈,我们将在48小时内为您提供新的网盘链接。如果您对此不便感到不满,您也可在48小时内申请无理由退款。感谢您的理解与支持!

Windows播放器推荐:Potplayer Potplayer 是免费的 Windows 播放器,支持双字幕和自动翻译功能。以下是操作指南: 挂载字幕 加载中文字幕:右击选择 字幕 -> 字幕设置,取消“只匹配文件名字幕”选项。可调整字幕颜色、位置和大小。 双字幕设置:右击 字幕 -> 选择字幕 -> 次字幕输出,设置主字幕和次字幕。 自动翻译 若可访问 Google 翻译服务,选择 字幕 -> 实时字幕翻译,勾选 总是使用 和 Google Translate,即可实时翻译英文字幕。 Potplayer 让观看更智能,学习体验升级。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可联络站长解决。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源