Go 服务器开发大型实战,带你一步步构建 API 开发中的各个功能点,最终完成一个企业级的 API 服务器Go 服务器开发大型实战,带你一步步构建 API 开发中的各个功能点,最终完成一个企业级的 API 服务器

现代软件架构已经逐渐从单体架构转向微服务架构,在微服务架构中服务间通信采用轻量级通信机制。对于轻量级通信的协议而言,通常基于 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 需要做高可用
  9. ….

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

你会学到什么

本教程是一个实战类的教程,旨在让初学者花尽可能短的时间,通过尽可能详细的步骤,历经 17 个 demo,最终一步步构建出一个生产级的 API 服务器。从开发准备到 API 设计,再到 API 实现、测试和部署,每一步都详细介绍了如何去构建。通过本教程的学习,你将学到如下知识点:

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。