web服务高并发(中小型网站)实际处理方式

web服务高并发(中小型网站)实际处理方式
(一)代码层面优化
1.优化业务逻辑,对于较复杂的业务逻辑进行查询展示,建议使用分页查询,增加多线程同步处理(涉及公共资源需要考虑线程安全。)
2.对于访问量大却修改较少或者修改频率较少的页面,使其静态化,日入常用的门户网站内容,公共信息等,可使用定时器定时更新,在定时器中使用流获取页面文件信息,进行相应更新,生成静态的文件,更新后将文件输出去,再次访问该页面可直接访问,不需要再次查询相关数据,从而达到页面静态化。
3.后端逻辑增加缓存,java缓存很多,也可使用map进行缓存,尽量在服务启动时进行缓存,下一次需要相关数据直接从缓存中获取,修改数据后除了数据库进行更新后,同步更新缓存,缓存可以很好的缓解数据库查询压力。
(二)服务器优化
1.对应并发量访问过高,通常一个常规的服务器难以支撑过万的并发量,此时可采用ngnix进行反向代理,负载均衡,下载ngnix后,配置ngnix.conf,配置虚拟主机地址和应用服务器地址,即将一套web代码部署在多个服务器上,然后在ngnix中配置好多个服务器ip和端口,再配置一个ngnix代理地址,最后启动两台服务器后,再启动ngnix后,即可通过ngnix代理端口进行访问,从而减少服务器的并发压力。ngnix分配服务器时可采用ip_hash方式,从而解决session共享问题。当然也可以采用cookie+redis共享session.
2.通过以上配置后,若还是由于并发量过高,可能是由于数据库的问题,即便服务器进行负载均衡,代码逻辑进行优化处理,但是并发量上十万,百万,如果所有的操作都在同一库中进行,数据库将会崩溃,因此,可进行数据库读写分离和数据库负载均衡。针对不同的数据库,都有相应的策略,数据库分主,从数据库,主数据库负载写操作,从数据库进行读操作,通过读的操作较多,可以配置多台读的数据库进行负载均衡。主从数据库配置成功后,主数据库写的数据都会在从数据库中执行,从而保证数据一致性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值