在 Go (Golang) 中使用微服务
使用 Go 构建高可用性、可扩展性、弹性的分布式应用程序
讲师:Trevor Sawler
双语IT资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
您将学到什么
-
了解什么是微服务以及何时使用它们
-
如何开发松散耦合、单一用途的应用程序,使其能够作为分布式应用程序协同工作
-
如何使用 JSON、远程过程调用和 gRPC 在服务之间进行通信
-
如何使用 RabbitMQ 通过高级消息队列协议 (AMQP) 将事件推送到微服务
-
如何将分布式应用程序部署到 Docker Swarm
-
如何将分布式应用程序部署到 Kubernetes 集群
要求
-
对 Go 编程语言有基本的了解
-
连接到互联网的 Macintosh、Windows 或 Linux 计算机
描述
长期以来,Web 应用程序通常都是由一个单一的应用程序来处理所有事情,换句话说,就是一个单体应用程序。这个单体应用程序负责处理用户身份验证、日志记录、发送电子邮件以及其他所有事务。虽然这仍然是一种流行(且实用)的方法,但如今,许多大型应用程序倾向于将功能分解为微服务。如今,大多数大型组织都专注于使用这种方法构建 Web 应用程序,这是有充分理由的。
微服务,也称为微服务架构,是一种将应用程序构建为松散耦合的小型应用程序集合的架构风格。微服务架构支持快速可靠地交付大型复杂应用程序。微服务的一些最常见特性包括:
-
它是可维护和可测试的;
-
它与应用程序的其他部分松散耦合;
-
可自行部署;
-
它是围绕业务能力组织的;
-
它通常由一个小团队拥有。
在本课程中,我们将开发一系列小型、独立、松耦合的微服务,这些微服务将通过REST API、RPC、gRPC以及AMQP(高级消息队列协议)相互通信并与简单的前端应用程序进行通信。我们构建的微服务将包含以下功能:
-
前端服务,仅显示网页;
-
带有 Postgres 数据库的身份验证服务;
-
日志服务,带有 MongoDB 数据库;
-
监听器服务,接收来自 RabbitMQ 的消息并对其采取行动;
-
Broker 服务,是进入微服务集群的可选单点入口;
-
邮件服务,接受 JSON 有效负载,转换为格式化的电子邮件,然后发送出去。
所有这些服务都将用 Go(通常称为 Golang)编写,这种语言特别适合构建分布式 Web 应用程序。
我们还将学习如何将分布式应用程序部署到Docker Swarm和Kubernetes,以及如何根据需要扩大和缩小规模,以及如何在很少或没有停机时间的情况下更新各个微服务。
请注意,本课程要求您从 Docker 下载 Docker Desktop。如果您是 Udemy Business 用户,请在下载软件前咨询您的雇主。
本课程适合哪些人:
- 曾经使用过单体应用程序并希望学习如何使用微服务的 Go 开发人员
如果你有能力,请务必支持课程的原创作者,这是他们应得的报酬!
本站收取的费用,仅用来维持网站正常运行的必要支出,从本站下载任何内容,说明你已经知晓并同意此条款。