并发控制
什么软件需要做并发控制
服务端需要做并发控制
客户端连接数不确定:
如果是一个互联网的服务端,首先需要支持高并发;
但是即使支持自动伸缩,受制于资源限制,一般都会有一个并发的上限。
超过并发上限的,一般应当进行优雅降级:比如返回明确的具备意义的错误码、返回预设的静态数据、返回后续指导。
客户端连接数确定
即使客户端连接数确定,也可能因为故障、恶意攻击等,在短时间内有大量连接连入。
除了进行并发控制外,还需要进行记录和报警。
如何做并发控制
对于热点资源的并发控制
对于数据库、IO等需要消耗较多资源的服务,对访问需要进行并发控制。
并发控制的方式包括
1、资源资深的并发控制机制,例如成熟的数据库都具备相应功能
2、消息中间件,通过队列对访问进行削峰填谷
3、包括分布式锁在内的各种锁机制,应用需要自行处理排队或者拒绝服务的功能
4、缓存