南贺神社

你写程序有写诗一样的感觉吗?

0%

在人间做韭菜的那些年(2)--搬砖军规

写了好几年代码,今天梳理和沉淀一些搬砖盖楼的方法论,时刻鞭策自己去遵守以及重温它们。

编码军规

  1. 并发控制,默认使用悲观锁,一锁二判三更新,乐观引入须谨慎。
  2. 幂等拦截,幂等新老要兼容,字段约束需一致,异常场景防击穿。
  3. 状态推进,流转设计要完整,状态推进凭指令,业务态不可逆。
  4. 对象设置,成员变量慎赋值,引值引址需眼晰,对象比较用 equals。
  5. 数据库表,SQL必须带字段, where条件有索引,索引不含隐式转。
  6. 时间设置,关注时区和时,避兔设置当地值, string传值带时区。
  7. 异常防御,请求校验防慕改,异常 catch不能吞,线程对象清理好。
  8. 代码质量,CR单测集成测,结果断言边界值,金量回归不能少。

    中间件使用

  9. 消息使用, grouped要唯一,重复投递质关注,事务回查防悬挂,
  10. 缓存设计,缓存击穿要,过期设计去热点,存储容量需考虑。
  11. 事务处理,悬挂告警要及财,严禁造成空国滚,确保最终一致性。
  12. 调度任务,调度重要免,图取数据可配置,熔断能力需具备。
  13. 限流配置,增量覆盖要分清,删规则要小心,异常限流调算法。
  14. druid使用,连接数量需评估,耗时上要警惕,FO机制来保障。

防御编程

  • 强弱依赖合理
    针对强依赖一般禁止高级别应用依赖低级别应用。
    针对弱依赖系统,注意捕获调用异常,合理设置超时时间
  • 业务环境隔离
    为了避免业务之间产生能,必要的业务进行线程。
    限流值连接池的基至进行存储的隔离。

资金安全

  1. 资金风险,证账实要对清楚,业务规则细分析,配置上下需一致。
  2. 金额计算,注意币种元和分,计算使用 Money类,外汇买卖方向对。
  3. 核对设计,过程终态均核对,包含金额状态码,中间帐户对余额。
  4. 资金应急,上报止血要及时,数据捞取要复核,应急调账需审批。

数据质量军规细则

  1. 业务保障,资损舆情录场景,时效保障用基线,上下协同保业务。
  2. 引擎变更,变更方案要评审,灰度测试融演练,巡检免疫要到位。
  3. 数据研发,研发规范须遵守,冒烟测试不可少,仿真灰度保稳定。
  4. 监控核对,任务监控要添加,内容核对要重视,及时降噪禁麻木。
  5. 风险治理,潜在风险配巡检,风险接收须治理,不治升级要限权。

生产变更

  1. 提前计划,下周变更本周理,重大高危需报备,沟通确认应有效
  2. 灰度分批,生产之前先灰度,分批操作控比例,关键业务须盯盘。
  3. 防御检测,变更前后配校验,监控巡检覆盖全,防御规则勤演练。
  4. 变更过程,恢复手段提前定,应急操作有人盯,出现问题变更停。

应象止血军规

  1. 应急值班,手机电脑随身带,电量网络要确保,暂时离开有备份。
  2. 应急响应,接到告警快响应,出现风脸速升级,预案执行要谨慎。
  3. 应急过程,恢复止血是第一,高危操作先灰度,谨慎小心防扩大。
  4. 应急手段,发现变更先回滚,容量不够降和限,容灾切换来兜底。
  5. 应急建设,实战攻防日常练,定位自愈助提升,历史故障取经验。