解决web应用 高并发

并发用户大,实际是吞吐量大,另外一个延迟响应也要短,

吞吐量和延迟是性能的两个衡量指标,另外还有一个动态指标:Scalable可扩展伸缩性。

根据业务特点:

1.以读为主,可以考虑缓存 CDN

2.读写都为主,类似Twitter那种每个用户都要发微博(写),看微博(读),数据分区,NoSQL等等技术,参考:Twitter架构

3.读写为主,且数据为结构,非松散,需要事务机制,参考Ebay架构,缺省为弱一致性,缩小一致性事务性的范围,其他则都通过异步实现弱一致性。

4.读写为主,且主要数据都是结构性的。使用CQRS/EventSourcing,记录事件。参考LMAX架构,存在资源争夺,

如拍卖 或火车票售卖,可参考数据网格,12306系统采取的就是数据网格技术。

另:

   脱离业务场景说吞吐就是在耍流氓
   脱离响应时间谈吞吐也是耍流氓。

时间: 2024-08-15 02:19:17

解决web应用 高并发的相关文章

Web网站高并发量的解决方案

摘要: ??一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构.性能的要求都很简单.随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件.编程语言.数据库.WebServer.防火墙等各个领域都有了很高的要求,已经不是原来简单的html静态网站所能比拟的.??大型网站,比如门户网站,在面对大量用户访问.高并发请求方面,

解决考试系统高并发数据载入不对问题

背景: 如今这版考试系统分为学生考试端和后台管理端.同一登陆页,学生输入学号.password进入考试界面,管理员输入username.password进入后台管理界面.平时没有学生考试时.后台管理界面学院下拉框能够正确的从数据库读取并载入数据,但有学生考试时.后台管理界面学院下拉框获取的数据有时为空,有时为脏数据. 我们所做的尝试: 1.再现数据载入不对场景 用LoadRunner压力測试程序模拟255人在线考试的过程,发现当考试人数达到50人时,后台管理界面開始出现上述数据载入不对问题. 2

解决考试系统高并发数据加载不正确问题

背景: 现在这版考试系统分为学生考试端和后台管理端.同一登陆页,学生输入学号.密码进入考试界面,管理员输入用户名.密码进入后台管理界面.平时没有学生考试时,后台管理界面学院下拉框可以正确的从数据库读取并加载数据,但有学生考试时,后台管理界面学院下拉框获取的数据有时为空,有时为脏数据. 我们所做的尝试: 1.再现数据加载不正确场景 用LoadRunner压力测试程序模拟255人在线考试的过程,发现当考试人数达到50人时,后台管理界面开始出现上述数据加载不正确问题. 2.验证数据库是否产生了死锁 我

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

之前我将高并发的解决方法误认为是线程或者是队列可以解决,因为高并发的时候是有很多用户在访问,导致出现系统数据不正确.丢失数据现象,所以想到的是用队列解决,其实队列解决的方式也可以处理,比如我们在竞拍商品.转发评论微博或者是秒杀商品等,同一时间访问量特别大,队列在此起到特别的作用,将所有请求放入队列,以毫秒计时单位,有序的进行,从而不会出现数据丢失系统数据不正确的情况. 今天我经过查资料,高并发的解决方法有俩种,一种是使用缓存.另一种是使用生成静态页面:还有就是从最基础的地方优化我们写代码减少不必

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

对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧. 为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步    1.同步和异步的区别和联系 所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到 返回的值或消息后才往下执行其它的命令. 异步,执行完函数或方法

Java高并发秒杀API之业务分析与DAO层

课程介绍 高并发和秒杀都是当今的热门词汇,如何使用Java框架实现高并发秒杀API是该系列课程要研究的内容.秒杀系列课程分为四门,本门课程是第一门,主要对秒杀业务进行分析设计,以及DAO层的实现.课程中使用了流行的框架组合SpringMVC+Spring+MyBatis,还等什么,赶快来加入吧! 第1章 课程介绍 本章介绍秒杀系统的技术内容,以及系统演示.并介绍不同程度的学员可以学到什么内容. 第2章 梳理所有技术和搭建工程 本章首先介绍秒杀系统所用框架和技术点,然后介绍如何基于maven搭建项

什么是高并发,如何避免高并发

之前我将高并发的解决方法误认为是线程或者是队列可以解决,因为高并发的时候是有很多用户在访问,导致出现系统数据不正确.丢失数据现象,所以想到 的是用队列解决,其实队列解决的方式也可以处理,比如我们在竞拍商品.转发评论微博或者是秒杀商品等,同一时间访问量特别大,队列在此起到特别的作用,将 所有请求放入队列,以毫秒计时单位,有序的进行,从而不会出现数据丢失系统数据不正确的情况. 今天我经过查资料,高并发的解决方法有俩种,一种是使用缓存.另一种是使用生成静态页面:还有就是从最基础的地方优化我们写代码减少

大型站点高并发架构技术

高并发: 高并发主要是由于网站PV访问量大,单台服务器涌承载大量访问所带来的压力,所以会采用多台服务器进行分流,采用服务器集群技术,对于每个访问会被 发送到哪台服务器,我们采取负载均衡策略,常见的技术有LVS,由于网站中有大量的静态页面,所以采用缓存服务器和反向代理技术,包括HAPROXY,Redis,数据库可以采用数据库集群,进行读写分离,缓解数据库压力. 大型站点高并发架构就是利用负载均衡技术.反向代理技术.数据库集群.web服务器集群.Nosql技术等,以实现单台数据器不能达到的并发量,换

java高并发

转自:https://www.cnblogs.com/lr393993507/p/5909804.html 对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧. 为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步    1.同步和异步的区别和联系 所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返