Agenda
- 什么是API
- 为什么使用API开发
- API开发中几个关键点
- GO适合开发API
API-Centric的好处
- 服务多个终端
- 标准化 对内对外都能实现同一标准(http+json/xml)
- 适合团队协作
- 代码清晰,结构胡,可维护性强
- 安全性, 可利用认证系统做做API的安全
- 去中心化,易拓展,API无状态变化,方便进行拓展
- 实现模块化,实现最小化的API之后,可通过组合又可以拼接成新API
- 可以快速将内部API开放
API 的典型部署方案
API 关键点
- 运行速度快
- 开发效率高
- 运行稳定
GO的主要特点
- 语法简单
- 类型安全和内存安全
- 以非常直观和极低的代价方案实现高并发
- 高效的垃圾回收机制
- 快速编译
- 为多核计算机提供性能提升的解决方案
- 跨平台编译
- 集成工具丰富,例gofmt、godoc
GO 并发编程
1 | package main |
API 开发关注点
- 并发处理 —- go并发
- http处理 —- http内置包
- 数据操作 —- io/os/strings/strconv/sql 包
- XML/JSON 处理 —- json/xml 包
- 日志处理 —- log 包
- 用户认证 —- oauth/ oauth2/ basic/ Digest authentication
- 数据加密 —- aes/ dec/ md5/ hash/ sha1等包