【Go API 开发实战】Go API 开发实战教程简介(1-7)

640?wx_fmt=gif


教程介绍


现代软件架构已经逐渐从单体架构转向微服务架构,在微服务架构中服务间通信采用轻量级通信机制。对于轻量级通信的协议而言,通常基于 HTTP 和 RPC ,能让服务间的通信变的标准化并且无状态化。此外开发模式也越来越多的采用前后端分离的模式,在前后端分离的模式中,前后端通信一般是通过 HTTP 进行通信。

不管是微服务架构,还是前后端分离模式,都需要一个 HTTP API 服务器。而且在日后的开发生涯中可能需要构建很多个大大小小的 API 服务器,所以很多时候做 Go 语言后台开发其实就是做 API 开发。有很多种方法可以用来构建 API,很多企业构建 API 时,采用一种叫 REST 风格的方式来构建 API,它虽然调用性能不及 RPC,但维护性和扩展性更好,也更通用。由于本教程不讨论微服务之间的高频调用场景, 而 REST 在实际开发中,能够满足绝大部分的需求场景,基于它的其他优势,本教程采用 REST 风格来构建 API 服务器。此外,在媒体类型上选择了 JSON,因为它的内容更加紧凑,数据展现形式直观易懂,开发测试都非常方便。REST + JSON,这也是 Go API 开发中很常用的组合。

构建一个简单的 API 服务器很简单,但构建一个生产就绪的 API 服务还有很多工作要做。所谓的生产就绪,至少需要满足如下各方面:


1.需要读取配置文件、记录日志

2.需要连接数据库

3.需要对数据库做增删改查等操作

4.需要自定义业务错误码

5.需要进行 API 身份验证

6.需要给 API 增加 Swagger 文档

7.API 服务器需要满足高稳定性,高性能的要求

8.API 需要做高可用

….


可以看到要构建一个可以运行在生产环境中的 API 服务器有许多工作要做。本教程希望花尽可能短的时间,来教初学者了解和学习 Go API 开发的所有环节和功能点。构建中需要用到很多 Go 包,笔者也根据经验筛选出了一些非常优秀的 Go 包来使用,另外教程中很多地方也会附上笔者的开发经验和建议,希望对读者有一定的帮助。


你会学到什么


本教程是一个实战类的教程,旨在让初学者花尽可能短的时间,通过尽可能详细的步骤,历经 17 个 demo,最终一步步构建出一个生产级的 API 服务器。

从开发准备到 API 设计,再到 API 实现、测试和部署,每一步都详细介绍了如何去构建。通过本教程的学习,你将学到如下知识点:

640?wx_fmt=png

知识点很多,跟着教程一节一节进行学习,你将完整的学会如何用 Go 做 API 开发。


适宜人群


  • 掌握一定 Go 语法基础,零 Go 服务器研发经验,想通过一个完整的实战,来系统学习 Go 服务器开发的同学

  • 有意从事 Go 服务器开发,但尚未入门或入门尚浅的同学

  • 有过 Go 服务器开发经验,但想了解某一部分构建方法的同学


你应该具备什么


  • 基本的 Go 语言编程知识

  • 基本的 Linux/Uinx 命令行知识

本教程主要面向初学者,希望能无偿分享笔者的一些 API 研发经验,如遇到一些不太合理的地方还请多多包涵 :-) ,欢迎指正交流。

本次发布只讲解实战系列的 1-7 节。

本系列文章转载自公众号:腾讯游戏存储与计算技术 微信号: game_infra


640?wx_fmt=png

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值