企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
并发就是同一时间访问某个服务所产生的效果。   并发可能导致以下几个问题:     1. 写文件错误,如多写、少写、错写(严重)     2. 数据存储读取错误,如已经产生的效果没有立即获取(客户立马就不高兴了)     3. 服务器响应变慢,如有些需要系统自动等待锁操作(稍慢可以接受)     4. 服务器直接挂掉,某些操作不当导致服务器资源耗尽只有挂掉了(你完了) 发现需要解决的问题,那就对症下药吧。 ###   1. 写文件   这种场景基本上是在于记录日志一类的操作吧,平时没有什么实际用处,但是真的到了出事的时候,就尤其需要了,里面会记录一些操作记录,特殊操作结果情况等等。一般来说,这种文件都是以追加的形式进行写入文件的,但是因为都是写一个文件,如果同时操作,可能就会出现各种难以预料的事。当然,可能最多就是某用户写的日志被另一个给覆盖了,少一两条也话没什么关系,我最开始也是这么认为的。但是,这也是在我们的预料之中,预料之外的事鬼知道呢,我就曾经因为写日志把整个服务给整挂掉了你信不?还是,加锁吧,看情况,加读锁、写锁,慢就慢一点吧,准确性安全性放第一吧! ###   2. 数据错误   这绝对是致命的,如果数据出问题了,没有给客户作好解释,基本上就是,能赔多少就赔多少,赔不了咱们就关门歇业吧!说句行外话,人们所有的操作,不都是基于对系统数据的相信吗?如果数据都错了,那谁还敢再用,毕竟,他什么也没有干啊,所有的东西都显得那么科幻!那么,并发下,我们可以做什么呢? 1. 数据库该有的唯一键一定要加上(即使其他都错了也不能让真数据写进去); 2. 针对特殊业务采用不同特点的数据库,一般应对高并发都要求处理速度极快,所以nosql内存数据库就是必须的了; 3. 在保证数据准确的同时尽量使用查询缓存; 4. 一些耗时的不需要实时的操作,仍给队列慢慢去做吧! ### 3.服务器响应慢 一般是通过负载均衡,分布式服务搞定的,代码里做到尽量最优化,如果还是承受不住的话,那就加机器吧!