后端主类[Golang+Postgres+Kubernetes+gRPC]

了解关于后端web开发的一切:Golang,Postgres,Redis,Gin,gRPC,Docker,Kubernetes,AWS,CI/CD
讲师:TECH SCHOOL

双语资源中英文字幕学习课程,独家翻译制作,提供全部配套课程资料。全网最低价享受高品质课程资源,无限分享下载。

你将会学到什么?

  • 使用DBML设计数据库模式并自动从中生成SQL代码
  • 深入了解数据库隔离级别、事务以及如何避免死锁
  • 自动生成Golang代码与数据库交互
  • 使用Gin框架开发RESTful后端web服务
  • 使用用户身份验证、JWT和PASETO保护API
  • 使用接口和mocking编写更强、覆盖率高的测试集
  • 构建用于部署的最小Docker镜像,并使用Docker compose进行开发
  • 设置Github Action以自动构建应用程序并将其部署到AWS Kubernetes集群
  • 注册域并配置Kubernetes入口以将流量路由到web服务
  • 使用Let’s Encrypt为域启用自动颁发和续订TLS证书
  • 使用gRPC和gRPC网关将您的web服务提升到一个新的水平
  • 运行后台工作程序以与Redis和Asynq异步处理任务

课程内容

6 个章节 • 78 个讲座 • 总时长 18 小时 28 分钟

课程要求

  • 只需要基本的编程技能
  • 如果你是围棋新手,我建议你先在“围棋之旅”网站上学习它的语法

课程说明

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

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

我们将使用Golang编程语言来开发服务,但这门课程不仅仅是关于Go中的编码。您将学习到许多关于后端web开发的不同主题。它们分为6个部分:

  1. 在第一节中,您将深入了解如何设计数据库,生成代码以使用事务以一致可靠的方式与数据库对话,了解数据库隔离级别,以及如何在生产中正确使用它。除了数据库,您还将学习如何使用docker进行本地开发,如何使用Git管理代码,以及如何使用GitHub Action自动运行单元测试。
  2. 在第二节中,您将学习如何使用Gin构建一组RESTful HTTP API,Gin是用于构建web服务的最流行的Golang框架之一。这包括加载应用程序配置、模拟DB以进行更健壮的单元测试、处理错误、验证用户以及使用JWT和PASETO访问令牌保护API等所有内容。
  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. 然后第五节将向您介绍Golang中使用后台工作程序和Redis作为消息队列的异步处理。我们还将学习如何通过Gmail SMTP服务器创建电子邮件并将其发送给用户。在此过程中,我们将了解更多关于为gRPC服务编写单元测试的信息,这些测试可能涉及同时模拟多个依赖项。
  6. 最后一节第6节以关于如何提高服务器的稳定性和安全性的讲座结束了本课程。我们将不断将依赖程序包更新到最新版本,使用Cookie使刷新令牌更加安全,并学习如何优雅地关闭服务器以保护处理资源。由于这一部分仍在进行中,我们将在未来继续制作和上传关于新主题的新视频。所以请您不时地回来看看。

这门课程设计了很多细节,所以每个人,即使是那些编程经验很少的人,都可以理解并自己动手。我坚信,在课程结束后,你将能够更加自信和有效地完成你的项目。

此课程面向哪些人?

  • 任何想了解使用Golang、Postgres、Docker和Kubernetes开发后端web服务的人
  • 该课程的设计使即使是具有非常基本编程技能的初学者也能理解
  • 但我相信,即使是经验更丰富(中级)的开发人员也能学到一些新东西
声明:双语资源网(shuangyuziyuan.com)提供的所有课程、素材资源全部来源于互联网,VIP 赞助仅用于对双语资源服务器带宽及网站运营等费用支出做支持,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。