高并发系统的开发注意事项
2008-09-21 21:53
274 查看
商用服务器经常因为一些商业的原因被很多为生活苦苦奋斗的hack们扫荡。对于一个要支持高并发的系统来说,在开发阶段有几个事情需要我们注意:
1、如果你用hibernate,注意你的主键获取不要用increment了,那玩意在并发的时候给你带来主键约束错误,还是考虑使用sequence之类的主键策略吧
2、定时任务的考虑,并不是所有的定时任务都需要考虑并发的情况。但是例如定时些数据库的时候,如果你做负载均衡了,每个服务器都会写,是否造成重复写脏数据就需要看业务逻辑而定了。例如:你要定时给某个邮箱发送邮件,负载的时候,每个机器都会做相同的操作,定时任务会造成多个机器都发送邮件。(你可以考虑将某些定时任务移动到存储过程或者使用单独的定时服务器来做。)
3、使用二级缓存的时候注意,负载均衡的时候,你的二级缓存对数据的处理是否还符合业务逻辑?
解释下你常见的负载均衡:就是多个服务器执行相同的代码,我们通过tomcat将请求均衡的分布在某个服务器上。如果你使用increment策略,在开发组内多个成员在各自的开发机器上进行数据添加的时候,经常会出现主键约束错误
定时任务:有些定时任务在多台机器做负载均衡的时候不适合使用,你可以考虑将任务使用一个链接请求处理,然后在做一个单独的请求链接的项目,定时请求链接。这样做的好处是:即利用了系统的负载均衡,同时还利用了系统本身的业务逻辑。
1、如果你用hibernate,注意你的主键获取不要用increment了,那玩意在并发的时候给你带来主键约束错误,还是考虑使用sequence之类的主键策略吧
2、定时任务的考虑,并不是所有的定时任务都需要考虑并发的情况。但是例如定时些数据库的时候,如果你做负载均衡了,每个服务器都会写,是否造成重复写脏数据就需要看业务逻辑而定了。例如:你要定时给某个邮箱发送邮件,负载的时候,每个机器都会做相同的操作,定时任务会造成多个机器都发送邮件。(你可以考虑将某些定时任务移动到存储过程或者使用单独的定时服务器来做。)
3、使用二级缓存的时候注意,负载均衡的时候,你的二级缓存对数据的处理是否还符合业务逻辑?
解释下你常见的负载均衡:就是多个服务器执行相同的代码,我们通过tomcat将请求均衡的分布在某个服务器上。如果你使用increment策略,在开发组内多个成员在各自的开发机器上进行数据添加的时候,经常会出现主键约束错误
定时任务:有些定时任务在多台机器做负载均衡的时候不适合使用,你可以考虑将任务使用一个链接请求处理,然后在做一个单独的请求链接的项目,定时请求链接。这样做的好处是:即利用了系统的负载均衡,同时还利用了系统本身的业务逻辑。
相关文章推荐
- 高并发系统的开发注意事项
- 高并发系统的开发注意事项
- 高并发系统的开发注意事项
- 用VBA开发自动评分系统注意事项
- java系统开发注意事项
- iOS开发中一些重要的系统方法使用注意事项总结
- 小米MIUI系统若干开发注意事项
- 嵌入系统开发注意事项
- 转:微软CRM系统二次开发步骤以及注意事项
- android 系统应用 开发 注意事项(该版本采用方法效率较高)
- 微软CRM系统二次开发步骤以及注意事项
- 开发web系统的一些注意事项(随时更新)
- iOS开发中的错误整理,启动图片设置了没有效果;单独创建xib需要注意的事项;图片取消系统渲染的快捷方式
- VS2008系统开发背景图片的添加及注意事项
- 微软CRM系统二次开发步骤以及注意事项
- 开发高并发web应用的注意事项
- 直播系统开发需要注意的事项
- 嵌入式系统开发入门二:C语言的几个注意事项
- 《连载 | 物联网框架ServerSuperIO教程》- 6.并发通讯模式开发及注意事项
- 64位系统使用VS2010开发32位ASP.NET应用--注意事项