后端主类[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)提供的所有课程、素材资源全部来源于互联网,用户赞助仅用于对双语资源服务器带宽及网站运营等费用支出做支持,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。