本教程所实现的 API 功能
本教程通过实现一个账号系统,来演示如何构建一个真实的 API 服务器,构建方法和技术是我根据之前的服务器开发经验不断优化沉淀而成。通过实战展示了 API 构建过程中各个流程(准备 -> 设计 -> 开发 -> 测试 -> 部署)的实现方法,教程涵盖的内容如下(包括但不限于):
详细为:
准备阶段
如何安装和配置 Go 开发环境
如何安装和配置 Vim IDE
设计阶段
API 构建技术选型
API 基本原理
API 规范设计
开发阶段
如何读取配置文件
如何管理和记录日志
如何做数据库的 CURD 操作
如何自定义错误 Code
如何读取和返回 HTTP 请求
如何进行业务逻辑开发
如何对请求插入自己的处理逻辑
如何进行 API 身份验证
如何进行 HTTPS 加密
如何用 Makefile 管理 API 源码
如何给 API 命令添加版本功能
如何管理 API 命令
如何生成 Swagger 在线文档
测试阶段
如何进行单元测试
如何进行性能测试(函数性能)
如何做性能分析
API 性能测试和调优
部署阶段
如何用 Nginx 部署 API 服务
如何做 API 高可用
通过以上各功能的介绍,读者可以完整、系统地学习 API 构建方法和技巧,笔者也会在文章中融入自己的开发经验以供读者参考。
账号系统业务功能
本教程为了演示,构建了一个测试账号系统(后面统称为apiserver),功能如下:
API 服务器状态检查
登录测试账号
新增测试账号
删除测试账号
更新测试账号
获取测试账号的信息
获取测试账号列表
本教程执行环境
本教程所有的软件安装,运行均是在 CentOS 7.1 系统上执行的。
理论上本教程所构建的 API 可以在所有的 Unix/Linux 系统上编译和运行,教程中的软件安装用的是 yum 工具,教程中所列举的 yum 软件理论上可以在 CentOS 6 和 CentOS 7 上直接执行 yum 命令安装。
小结
本小节介绍了教程所要实现的 API 功能,以及 API 系统的业务功能,让读者在实战前对教程所要构建的系统有个整体了解,以便于接下来的学习。教程每一节都会提供源码,供读者学习参考。
本系列文章转载自公众号:腾讯游戏存储与计算技术 微信号: game_infra