java高并发,如何解决,什么方式解决,高并发
2018-07-26 · 专注互联网IT教育
深圳海枫科技有限公司
海枫致力于互联网IT技术人才综合服务平台,累计培养数万IT技术人才,不断适应市场及客户的需求,为客户创造价值。上线产品有:软件测试工程师、Java开发工程师、Web前端工程师、UI软件设计师
向TA提问
关注
展开全部
高并发系统的设计需要注意一下几点:
用jprofiler等工具找出性能瓶颈,减少额外的开销。
尽量使用缓存,包括用户缓存,信息缓存等,多花点内存闭烂来做缓存,可以大量减少与数据库的交互,提高性能。
优化数据段做库查询语句,减少直接使用hibernate等工具的直接生成语句(仅耗时较长的查询做优化)。
优化数据库结构,多做索引,提高查询效率。
统计的功能尽量做缓存,或按每天一统计或定时统计相关报表,避免需要时进行统计的功能。
能使用静态页面的地方尽量使用,减少容器的解析(尽量将动态内容生成静态html来显示)。
硬件上就是提高服务器性能,提升允许最大访问量,代码上面可以使用连接池的方式,更合理的规划连接,提高连接的有效利用率
负载均衡(软件负载均衡、硬件负载均衡)
分布式数据库(数据库主从分布、数据库分割、数据库缓存)
可以采用nginx或者lvs软件工具,他好像最高支持65535的并发访握态衡问。
实实在在太大的话,终极解决方式队列方式,通过mq一个一个排队方式,跟12306一样。
用jprofiler等工具找出性能瓶颈,减少额外的开销。
尽量使用缓存,包括用户缓存,信息缓存等,多花点内存闭烂来做缓存,可以大量减少与数据库的交互,提高性能。
优化数据段做库查询语句,减少直接使用hibernate等工具的直接生成语句(仅耗时较长的查询做优化)。
优化数据库结构,多做索引,提高查询效率。
统计的功能尽量做缓存,或按每天一统计或定时统计相关报表,避免需要时进行统计的功能。
能使用静态页面的地方尽量使用,减少容器的解析(尽量将动态内容生成静态html来显示)。
硬件上就是提高服务器性能,提升允许最大访问量,代码上面可以使用连接池的方式,更合理的规划连接,提高连接的有效利用率
负载均衡(软件负载均衡、硬件负载均衡)
分布式数据库(数据库主从分布、数据库分割、数据库缓存)
可以采用nginx或者lvs软件工具,他好像最高支持65535的并发访握态衡问。
实实在在太大的话,终极解决方式队列方式,通过mq一个一个排队方式,跟12306一样。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询