高并发系统实战派

第三章 生产级系统框架设计的细节

3.1.1什么是幂等性

所谓幂等性是指,用户对于同一个操作发起一次请求或多次请求,得到的结果都是一样的,不会因为请求了多次而出现异常现象。

1.需要幂等性的场景

幂等性主要用在重复请求上,有如下几种场景:

用户多次请求,比如重复点击页面上的按钮。

网络异常,由于网络原因导致在一定时间内未返回调用成功的信息,触发了框架层的重试机制。

页面回退后再次提交的动作。

程序上的重试机制——对于未提交响应的请求发起重试操作。

3.1.2如何避免重复提交

1.利用数据库的主键唯一特性,可以解决重复提交问题:对于相同ID的信息,数据库会抛出异常。

2.利用“Token+Redis”机制防止重复提交

3.8.2【实战】基于Swagger构建可视化API文档

Swagger框架用于生成、描述、调用和可视化RESTful API 服务,其总体目标是:使客户端、文件系统与API服务以同样的速度更新。将API的方法、参数和模型紧密集成到服务器端的代码中的目的是,让API服务始终与服务器端的代码保持同步。Swagger让部署、管理和使用API服务变得很简单。

第4章 快速部署上线

对于Spring Boot构建的应用,在生产环境中可以直接使用java -jar命令启动,因为Spring Boot框架默认集成了Tomcat容器。

第5章生产环境监测

平均负载,既包含正在使用的cpu的进程,还包含等待cpu和等待进行I/O访问的进程。

CPU使用率表示单位时间内CPU的繁忙程度,它和平均负载并不完全一致:

CPU密集型进程会占用大量的CPU资源,从而导致平均负载升高。

对于I/O密集型进程,等待I/O过程也会导致平均负载升高,但CPU使用率不一定会随之升高。

大量等待CPU的进程调度,不仅会导致平均负载升高,也会导致CPU使用率升高。

第7章 缓存设计

Cache Aside Pattern即旁路缓存策略,是最经典的“缓存+数据库”读写模式,分为读策略和写策略。

读策略:在读取时先读取缓存,如果命中,则直接返回;如果未命中,则访问数据库,然后回填到缓存中。

写策略:先更新数据库,然后删除缓存中的数据。

在通常业务中读请求要多于写请求,所以,一般需要采用读写分离架构。

读写分离架构即主从架构:一个主节点、多个从节点。

写请求,直接写到主节点。

读请求,直接在从节点读。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值