后端开发规范|学习笔记

本文涉及的产品
对象存储 OSS,标准 - 本地冗余存储 20GB 3个月
对象存储 OSS,内容安全 1000 次 1年
对象存储 OSS,标准 - 同城冗余存储 20GB 3个月
简介: 快速学习后端开发规范

开发者学堂课程【阿里云城市数据大脑开发规范后端开发规范】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址: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. 负载均衡

image.png

(1)消除单点故障

当其中一部分ECS实例发生故障后,负载均衡会自动屏蔽故障的 ECS实例,将请求分发给正常运行的ECS实例,保证应用系统仍能正常工作。

(2)横向扩张

随时添加和移除ECS实例来扩展应用系统的服务能力。


三.常用云服务

1. OSS

(1)图片和音视频等应用的海量存储

image.png

OSS可用于图片、音视频、日志等海量文件的存储。各种终端设备、Web网站程序、移动应用可以直接向OSS写入或读取数据。OSS支持流式写入和文件写入两种方式。

(1)网页或者移动应用的静态和动态资源分离

image.png

利用BGP带宽,OSS可以实现超低延时的数据直接下载。也可以配合阿里云CDN加速服务,为图片、音视频、移动应用的更新分发提供最佳体验。

2. TableStore

(1)大数据存储与分析

image.png

表格存储提供低成本、高并发、低延时的海量数据存储与在线访问,提供增量以及全量数据通道,并支持 MaxCompute 等大数据分析平台的SQL直读直写。

高效的增量流式读接口让数据轻松完成实时流计算。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
JavaScript 前端开发 程序员
后端程序员的前端必备-jQuery核心学习笔记
后端程序员的前端必备-jQuery核心学习笔记
166 13
|
前端开发
前端学习笔记202305学习笔记第二十九天-什么是mvc-后端Mvc架子和vc的创建4
前端学习笔记202305学习笔记第二十九天-什么是mvc-后端Mvc架子和vc的创建4
167 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-后端分页方法1
前端学习笔记202305学习笔记第二十二天-后端分页方法1
134 0
前端学习笔记202305学习笔记第二十二天-后端分页方法1
|
前端开发
前端学习笔记202305学习笔记第二十二天-后端分页方法2
前端学习笔记202305学习笔记第二十二天-后端分页方法2
189 0
前端学习笔记202305学习笔记第二十二天-后端分页方法2
|
前端开发
前端学习笔记202305学习笔记第二十二天-后端分页方法1
前端学习笔记202305学习笔记第二十二天-后端分页方法1
97 0
前端学习笔记202305学习笔记第二十二天-后端分页方法1
|
前端开发
前端学习笔记202305学习笔记第二十九天-什么是mvc-后端Mvc架子和vc的创建2
前端学习笔记202305学习笔记第二十九天-什么是mvc-后端Mvc架子和vc的创建2
93 0
|
前端开发
前端学习笔记202305学习笔记第二十九天-什么是mvc-后端Mvc架子和vc的创建3
前端学习笔记202305学习笔记第二十九天-什么是mvc-后端Mvc架子和vc的创建3
88 0
|
前端开发
前端学习笔记202305学习笔记第二十九天-什么是mvc-后端Mvc架子和vc的创建1
前端学习笔记202305学习笔记第二十九天-什么是mvc-后端Mvc架子和vc的创建1
68 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-后端分页方法2
前端学习笔记202305学习笔记第二十二天-后端分页方法2
111 0
|
测试技术 芯片
《后端技术面试 38 讲》学习笔记 Day 15
《后端技术面试 38 讲》学习笔记 Day 15
174 0

热门文章

最新文章