【寻找本身】2016年终总结

1、上线规范:mysql

  • 规范git版本使用:使用特性分支避免上线冲突;进行代码review,防止明显错误;使用tag分支可以回滚代码;
  • 规范环境使用:避免测试环境直接链接线上服务;上线前必须测试,增长预发布环境,加强安全意识;
  • 上线机器:使用ci工具,进行灰度上线,必须跟踪上线功能实际状况
  • 压测:新接口建议进行压测,了解QPS状况

2、接口设计规范:git

  • 考虑接口安全性、幂等性
  • 尽可能和客户端沟通好接口的使用状况
  • 对应null字段,能够选择不返回,可是客户端要作好兼容判断(避免客户端空指针问题)
  • 要求客户端接口解耦,不要在页面层传递数据,服务端提供原子接口
  • 考虑客户端支持302
  • 必须定义良好的异常码信息

 

3、代码规范:sql

  • 避免屡次远程调用(mysql、缓存、rpc等网络请求),尽可能使用mget,多线程等减小请求次数。若是使用多线程,须要考虑原始排序问题
  • sql语句必须考率性能问题
  • 控制服务的并发请求,防止资源耗尽
  • 考虑自动/手动降级,防止资源耗尽
  • 考虑mock
  • 由于瓶颈会出如今网络故障/网络带宽/网卡问题/等非第三方自己服务上,因此必需要考虑超时致使的性能问题

4、报警机制(只定位一部分线上问题,不能定位业务逻辑致使的问题):缓存

  • 业务异常:好比某些重要字段为空、特殊字符、等
  • 性能异常:第三方超时、基础服务不可用等
  • 机器异常:机器自己,或者网络异常等
  • 指标异常:mysql链接数等

5、善用工具安全

  • 全链路监控:性能可视化;行级定位;重要业务场景还原
  • 业务分析:自动分析业务执行状况
相关文章
相关标签/搜索