高并发系统的开发注意事项

商用服务器经常因为一些商业的原因被很多为生活苦苦奋斗的hack们扫荡。对于一个要支持高并发的系统来说,在开发阶段有几个事情需要我们注意:

  1、如果你用hibernate,注意你的主键获取不要用increment了,那玩意在并发的时候给你带来主键约束错误,还是考虑使用sequence之类的主键策略吧

  2、定时任务的考虑,并不是所有的定时任务都需要考虑并发的情况。但是例如定时些数据库的时候,如果你做负载均衡了,每个服务器都会写,是否造成重复写脏数据就需要看业务逻辑而定了。例如:你要定时给某个邮箱发送邮件,负载的时候,每个机器都会做相同的操作,定时任务会造成多个机器都发送邮件。(你可以考虑将某些定时任务移动到存储过程或者使用单独的定时服务器来做。)

 3、使用二级缓存的时候注意,负载均衡的时候,你的二级缓存对数据的处理是否还符合业务逻辑?

 

  解释下你常见的负载均衡:就是多个服务器执行相同的代码,我们通过tomcat将请求均衡的分布在某个服务器上。如果你使用increment策略,在开发组内多个成员在各自的开发机器上进行数据添加的时候,经常会出现主键约束错误

  定时任务:有些定时任务在多台机器做负载均衡的时候不适合使用,你可以考虑将任务使用一个链接请求处理,然后在做一个单独的请求链接的项目,定时请求链接。这样做的好处是:即利用了系统的负载均衡,同时还利用了系统本身的业务逻辑。

服务器性能指标: 

 QPS每秒查询率(Query Per Second) :每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值