当前位置:380元网站建设 虎网站 > 常见问题 > 正文

网站制作的关键技术优化点

发布日期:2019-08-01

大流量读系统的设计手段,当这些手段全部穷尽以后,仍然产生大流量又该如何处理呢?所以秒杀系统还要解决以下关键问题。

1.Java处理大并发动态请求优化的问题

Java和通用的Web服务器( Nginx或 Apache)相比,在处理大并发的HTP请求时要弱一点,所以一般我们都会对大流量的Web系统做静态化改造,让大部分请求和数据直接在 Nginx I服务器或者Web代理服务器( Varnish、 squid等)上直接返回(可以减少数据的序列化与反序列化),Java层只处理少量数据的动态请求。针对这些请求可以使用以下优化手段:

网站制作的关键技术优化点

直接使用 Servlet处理请求。避免使用传统的MVC框架,这样可以绕过一大堆复杂且用处不大的处理逻辑,节省1毫秒的时间一取决于对MVC框架的依赖程度;

直接输出流数据。使用 resp. getoutputstreamo而不是 resp. get Writer)可以省掉一些不变字符数据的编码,提升性能;数据输出时,推荐使用JSON而不是模板引擎(一般都是解释执行)来输出页面。

2.同一商品被大并发读的问题

也许有读者会觉得这个问题很容易解决,无非就是将热点数据放到Tair缓存里。集中式Tair缓存为了保证命中率一般都会采用一致性Hash,所以同一个key会落到同台机器上。虽然单台Tair缓存机器也能支撑1秒30万次的请求,但还是远不足以应付大秒级别的热点商品,该如何彻底解决单点的瓶颈呢?答案是采用应用层的Localcache,即在秒杀系统的单机上缓存商品相关的数据。那么如何 Cache数据?答案是划分成动态数据和静态数据分别处理。

像商品的标题和描述这此机器上、并一直缓存到秒杀结束像库存这类动态数据会采用被动失效的方式缓存一定时间(一般是数秒),失效后再去Tai缓存拉取最新的数据。

读者可能还会有疑问,像库存这种频繁更新的数据一旦数据不一致会不会导致超卖?这就要用到前面介绍的读数据的分层校验原则了,读的场景可以允许一定的脏数据,因为这里的误判只会导致少量原本无库存的下单请求被误认为有库存,可以等到真正写数据时再保证最终的一致性,通过在数据的高可用性和一致性之间的平衡来解决高并发的数据读取问题。

3.同一数据大并发更新问题

采用 Localcache和数据的分层校验可以一定程度上解决大并发读问题,但是无论如何还是避免不了减库存这类的大并发写问题,这也是秒杀场景中最核心的技术难题。

同一数据在数据库里肯定是一行存储( MYSQL),所以会有大量的线程来竞争INNODB行锁,并发度越高时等待的线程也会越多,TPS会下降而RT会上升,数据库的吞吐量会严重受到影响。这里会出现一个问题,即单个热点商品会影响整个数据库的性能,出现我们不愿意看到的0.01%商品影响9999的商品的情况。此处的解决思路也是要遵循前面介绍的第一个原则“隔离” 把热点商品放到单独的热点库中尽管这会带来维护的麻烦(要做热点数据的动态迁移以及单独的数据库等)把热点商品分离到单独的数据库并没有解决并发锁的问题,要解决并发锁问题有以下两种办法。

第一种是在应用层做排队。按照商品维度设置队列顺序执行,这样能减少同一台机器对数据库同一行记录操作的并发度,也能控制单个商品占用数据库连接的数量防止热点商品占用太多的数据库连接。

第二种是在数据库层做排队。应用层只能做到单机的排队,但是应用层机器数量很多,用这种排队方式控制并发仍然是很有限的,如果能在数据库层做全局排队是最理想的。数据库团队开发了 MYSQL的 INNODB层上的 patch,可以做到在数据库层上对单行记录并发排队。

你可能会有疑问:排队和锁竞争不都是要等得吗,有何区别?如果熟悉 MYSQL的话,应该知道 INNODB内部的死锁检测以及 MYSQL Server和 INNODB的切换会比较耗性能, MYSQL核心团队还做了很多其他方面的网站制作优化,如 COMMIT_ON_ SUCCESS和 ROLLBACK ON FAIL的 patch,配合在SQL里面加hint,在事务里不需要等待应用层提交 COMMIT而在数据执行完最后一条SQL后,根据 TARGET AFFECT ROW结果就直接提交或回滚,这样可以减少网络的等待时间(平均约0.7毫秒)。

从芽庄到河内,旅游大巴有哪些优惠政策

    近年来,越南已成为越来越多中国游客的旅游目的地,其中芽庄和河内是两个备受欢迎的城市。而对于很多游客来说,选择旅游大巴是一个方便、经济实惠的交通方式。那么,从芽庄到河内,旅游大巴有哪些优惠政策呢?本文将为您一一介绍。 一、旅游大巴的优势 1.经济实惠 相比于火车、飞机等交通方式,旅游大巴的价格更加经济实惠,尤其对于预算有限的游客来说,是一个不错的选择。 2.舒适便捷 旅游大巴的座位宽敞舒适,配备了...

       宝安简单会计服务与虎网站签约网站建设事宜 简单是经深圳市宝安区工商局审核的正规企业,统一社会信用代码:91440300MA5ELLQN4B。简单位于深圳市宝安区六区运恒大厦201。简单选用虎网站经济型入门级网站案例,其功能比较简单的程序,广告单图(无动漫),页面较简单,适合小微企业产品展示型网站。   业务范围:1)代理记账、报税、财税咨询、受聘财务顾问、投资咨询管理。2)代理企业登记注册、年检、增资、股权转让、变更等业务。3)财务审计、...

       深圳福田王子少杰运动培训跟虎网科技签定网站建设事宜 王子少杰处于深圳市福田区金中环22楼。王子少杰选用虎网站网络实用型网站案例,此案例比经济型多了些功能,如动漫广告图片、在线客服QQ/MSN等聊天工具、顶部侧部二级分类导航、走马灯等功能。王子少杰是经深圳市福田区工商局审核的有资质公司,统一社会信用代码:91440300349854340X。同时经国家工信部和广东省通信管理局审核通过ICP备案;备案号:粤ICP备15100624号。   深圳王子国际...

       为不同设备提供不同的网站体验 移动设备的数量与种类在不断地增加,而这正是移动网站需要解决的一个问题:我们需要为所有设备实现一致的用户体验。有一些移动操作系统制造商会让他们的所有移动设备保持一致性,例如,设备的屏幕尺寸保持不变。因此无论使用哪一种设备或操作系统,移动网站都更容易保持一致的用户体验。这样就只有一两个不同的屏幕尺寸,以及少数影响体验的选项。其他移动操作系统平台则可能会有多种设备和屏幕尺寸,其中还包含各种配置,因此实现...

       虎网科技建造您所需的精美网站 您想通过建立网站实现企业宣传吗?您想与客户保持实时便捷的沟通吗?您想您想降0成本、提高企业工作效率吗?您想为您的产品服务提供更专业的技术支持吗?选择虎网科技(西安网站制作),让您的企业营销更便利! 一、虎网科技(西安网站设计) 优势多多 1.我们的网站兼容多种主流浏览器,让您的网站不会”走样”; 2.用p+CSS制作的网站,打开网站速度快,代码整洁; 3.按W3C标准建站,架设易于搜索引擎的结构,...

       企业网站设计JPEG格式 JPEG格式 ,为图像压缩格式,属于有损压缩,压缩时可承载色彩20多种,此种压缩技术较为先进,不仅可对图像进行调节,还能压缩图像比例。压缩越小,则图像质量随之增高;比例越大,则图像质量随之降低。另外,压缩中图形色彩并不会产生变化,适合色彩较为丰富的图像存储 [3] 。但是此格式不适合文字清晰、线条图片的存储。

最新模板
少儿英语培训机构网站建设 培训公司网站建设
成人自考网站建设 成人培训网站制作设计版面
智能家居摆设设计网站建设 智能家居装修企业网站建设
铜螺母,铜螺丝,螺栓,螺钉工厂网站建设
废气处理设备,如活性炭吸附箱、RTO蓄热式氧化处理设备、光氧等离子复合设备 低温等离子设备 光氧催化设备等网企业网站建设
图文阅读