高并发程序需要注意有:
1、如果用hibernate,注意主键获取不要用increment了,那玩意在并发的时候给带来主键约束错误,还是考虑使用sequence之类的主键策略吧。
2、定时任务的考虑,并不是所有的定时任务都需要考虑并发的情况。但是例如定时些数据库的时候,如果做负载均衡了,每个服务器都会写,是否造成重复写脏数据就需要看业务逻辑而定了。例如:要定时给某个邮箱发送邮件,负载的时候,每个机器都会做相同的操作,定时任务会造成多个机器都发送邮件。(可以考虑将某些定时任务移动到存储过程或者使用单独的定时服务器来做。)可用redis分布式锁来避免负载均衡重复请求数据。
定时任务:有些定时任务在多台机器做负载均衡的时候不适合使用,可以考虑将任务使用一个链接请求处理,然后在做一个单独的请求链接的项目,定时请求链接。这样做的好处是:即利用了系统的负载均衡,同时还利用了系统本身的业务逻辑。