开发者学堂课程【阿里云城市数据大脑开发规范:后端开发规范】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/534/detail/7160
后端开发规范
内容介绍:
1.开发规范
2.运维及部署规范
3.常用云服务
一. 开发规范
1. HTTP接口格式建议
(1)成功结果接口
{
isError: false,
data: ${data},
}
(2)错误结果接口
{
isError: true,
error:{
code:"UNCAUGHT_EXCEPTION",//错误码别名 codeNumber:0,//错误码
message:"xxxx",//错误信息
}
2. 常见接口安全策略
(1)简单token
服务对请求中的token进行验证,仅当验证通过时返回正确结果。
(2)签名
提供签名算法逻辑给调用方,调用方按照签名逻辑计算签名结果加入到请求体中,服务端执行相同的签名逻辑计算签名结果仅当结果一致时返回正确结果。
(3)用户授权
服务端通过请求体中的用户字段判断用户是否具有访问接口的权限,仅当验证通过是返回正确结果。
3. 配置
(1)hardcode
配置夹杂在代码中,修改不方便。
(2)配置文件
将配置独立放置在配置文件中(yaml,xml,json等),代码通过读取配置文件获取相应值。
(3)配置中心
配置维护在配置中心(zookeeper,etcd等)中代码通过sdk或者api获取相应值。
4. 日志
(1)访问日志
记录访问接口的ip、入参、响应时间等数据。
(2)行为日志
记录关键操作信息。
(3)错误日志
打印详细错误信息,帮助调试及修复。
二.运维及部署规范
1. 多套环境
(1)日常
不对线上提供服务,连接测试数据库和测试依赖服务
预发。
(2)不对线上提供服务,连接生产数据库和生产依赖服务。
(3)线上
生产环境对线上提供服务,连接生产数据库和生产依赖服务。
2. 升级方案
(1)自动化部署
使用部署脚本或部署平台进行部署减少手工部署的副作用。
(2)自测
日常,预发自测稳定后才能发布线上,需要有集成测试,保证已有功能不因升级而异常。
(3)回滚
尽量基于ASAP部署若有脱离这些平台的需求,需要自行提供回滚方案。
3. 负载均衡
(1)消除单点故障
当其中一部分ECS实例发生故障后,负载均衡会自动屏蔽故障的 ECS实例,将请求分发给正常运行的ECS实例,保证应用系统仍能正常工作。
(2)横向扩张
随时添加和移除ECS实例来扩展应用系统的服务能力。
三.常用云服务
1. OSS
(1)图片和音视频等应用的海量存储
OSS可用于图片、音视频、日志等海量文件的存储。各种终端设备、Web网站程序、移动应用可以直接向OSS写入或读取数据。OSS支持流式写入和文件写入两种方式。
(1)网页或者移动应用的静态和动态资源分离
利用BGP带宽,OSS可以实现超低延时的数据直接下载。也可以配合阿里云CDN加速服务,为图片、音视频、移动应用的更新分发提供最佳体验。
2. TableStore
(1)大数据存储与分析
表格存储提供低成本、高并发、低延时的海量数据存储与在线访问,提供增量以及全量数据通道,并支持 MaxCompute 等大数据分析平台的SQL直读直写。
高效的增量流式读接口让数据轻松完成实时流计算。



