java高并发,如何解决,什么方式解决,高并发

 我来答
梦入神机gege
2018-01-18 · TA获得超过225个赞
知道小有建树答主
回答量:282
采纳率:81%
帮助的人:115万
展开全部
首先,为防止高并发带来的系统压力,或者高并发带来的系统处理异常,数据紊乱,可以以下几方面考虑:1、加锁,这里的加锁不是指加java的多线程的锁,是指加应用所和数据库锁,应用锁这哗坦边通常是使用redis的setnx来做,其次加数据库锁,因为代码中加了应用所,所以数据库不建议加悲观锁(排他锁),一般加乐观锁(通过设置一个seq_no来解决)哗前,这两个锁一般能解决了,最后做合理的流控,丢弃一部分请求也是必不可乱芦桐少的
深圳海枫科技有限公司
2018-07-26 · 专注互联网IT教育
深圳海枫科技有限公司
海枫致力于互联网IT技术人才综合服务平台,累计培养数万IT技术人才,不断适应市场及客户的需求,为客户创造价值。上线产品有:软件测试工程师、Java开发工程师、Web前端工程师、UI软件设计师
向TA提问
展开全部
高并发系统的设计需要注意一下几点:
用jprofiler等工具找出性能瓶颈,减少额外的开销。
尽量使用缓存,包括用户缓存,信息缓存等,多花点内存闭烂来做缓存,可以大量减少与数据库的交互,提高性能。
优化数据段做库查询语句,减少直接使用hibernate等工具的直接生成语句(仅耗时较长的查询做优化)。
优化数据库结构,多做索引,提高查询效率。
统计的功能尽量做缓存,或按每天一统计或定时统计相关报表,避免需要时进行统计的功能。
能使用静态页面的地方尽量使用,减少容器的解析(尽量将动态内容生成静态html来显示)。
硬件上就是提高服务器性能,提升允许最大访问量,代码上面可以使用连接池的方式,更合理的规划连接,提高连接的有效利用率
负载均衡(软件负载均衡、硬件负载均衡)
分布式数据库(数据库主从分布、数据库分割、数据库缓存)
可以采用nginx或者lvs软件工具,他好像最高支持65535的并发访握态衡问。
实实在在太大的话,终极解决方式队列方式,通过mq一个一个排队方式,跟12306一样。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式