Backend Master Class [Golang + PostgreSQL + Kubernetes]

Backend Master Class [Golang + PostgreSQL + Kubernetes]_第1张图片

了解有关后端 Web 开发的所有信息:Golang、Postgres、Gin、gRPC、Kubernetes、AWS、GitHub Actions。

Backend Master Class [Golang + PostgreSQL + Kubernetes] | Udemy付费课程下载 | TheItzy

你将会学到的

  • 使用 DBML 设计数据库模式并从中自动生成 SQL 代码

  • 深入了解数据库隔离级别、事务以及如何避免死锁

  • 自动生成与数据库交互的Golang代码

  • 使用 Gin 框架开发 RESTful 后端 Web 服务

  • 使用用户身份验证、JWT 和 PASETO 保护 API

  • 使用接口和模拟编写具有高覆盖率的更强大的测试集

  • 构建用于部署的最小 Docker 镜像,并使用 Docker-compose 进行开发

  • 设置 Github Action 以自动构建应用程序并将其部署到 AWS Kubernetes 集群

  • 注册域并配置 Kubernetes 入口以将流量路由到 Web 服务

  • 使用 Let’s Encrypt 为域启用自动颁发和续订 TLS 证书

  • 使用 gRPC 和 gRPC 网关将您的 Web 服务提升到一个新的水平

  • 运行后台 worker 以与 Redis 和 Asynq 异步处理任务

要求

  • 只需要基本的编程技能。

说明

在本课程中,您将逐步学习如何从头开始设计、开发和部署后端 Web 服务。我相信学习编程的最好方法是构建一个真正的应用程序。因此,在整个课程中,您将学习如何为一家简单的银行构建后端 Web 服务。它将为前端提供 API 来执行以下操作:

  • 创建和管理银行账户。
  • 记录每个账户的所有余额变化。
  • 在 2 个帐户之间执行汇款。

我们将用于开发服务的编程语言是 Golang,但课程不仅仅是关于使用 Go 编写代码。您将学到很多关于后端 Web 开发的不同主题。它们分为 5 个部分:

  1. 在第 1 部分中,您将深入了解如何设计数据库、生成代码以使用事务以一致且可靠的方式与数据库对话、了解数据库隔离级别以及如何在生产中正确使用它。除了数据库,你还将学习如何使用 docker 进行本地开发,如何使用 Git 管理你的代码,以及如何使用 GitHub Action 自动运行单元测试。
  2. 在第 2 部分中,您将学习如何使用 Gin 构建一组 RESTful HTTP API——Gin 是用于构建 Web 服务的最流行的 Golang 框架之一。这包括从加载应用程序配置、模拟数据库以进行更健壮的单元测试、处理错误、验证用户身份以及使用 JWT 和 PASETO 访问令牌保护 API 等所有内容。 
  3. 在第 3 部分中,您将学习如何使用 Docker 构建应用程序并将其部署到 AWS 上的生产 Kubernetes 集群。讲座非常详细,有分步指南,从如何构建最小的 docker 镜像、设置免费层 AWS 帐户、创建生产数据库、存储和检索生产机密、使用 EKS 创建 Kubernetes 集群,使用 GitHub Action 自动构建镜像并将其部署到 EKS 集群,购买域名并将流量路由到服务,使用 HTTPS 保护连接并自动更新来自 Let’s Encrypt 的 TLS 证书。
  4. 在第 4 部分中,我们将讨论几个高级后端主题,例如管理用户会话、构建 gRPC API、使用 gRPC 网关同时为 gRPC 和 HTTP 请求提供服务、将 Swagger 文档嵌入后端服务的一部分、部分更新使用可选参数进行记录,并编写结构化记录器 HTTP 中间件和 gRPC 拦截器。
  5. 然后第 5 节将向您介绍 Golang 中使用后台 worker 和 Redis 作为其消息队列的异步处理,以及如何优雅地关闭服务器以保护您的处理资源。由于这部分仍在进行中,我们将继续制作和上传关于新主题的新视频,例如:发送电子邮件、优雅地关闭服务器、CORS、批量插入等。所以请回来查看他们不时出来。

本课程设计了很多细节,让每个人,即使是很少编程经验的人都可以理解并自己动手做。我坚信,完成课程后,您将能够更自信、更有效地开展项目。

此课程面向哪些人:

  • 任何想要使用 Golang、Postgres、Docker 和 Kubernetes 学习后端 Web 服务开发的人
  • 该课程的设计使得即使是具有非常基本的编程技能的初学者也能理解
  • 但我敢肯定,即使是经验更丰富(中级水平)的开发人员仍然可以学到新东西

 

你可能感兴趣的:(kubernetes,golang,docker)