网站建设中网站制作的关键技术点是什么呢?

现在企业网站制作,已经慢慢的得到了企业的重视,以前由于网站的成本高大部分是模板建站的,导致很多的网站没有优化好,最后不得不又重新去做网站制作,那么关于网站制作的关键技术点是什么呢?

网站建设中网站制作的关键技术点是什么呢?
网站建设

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

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

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

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

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

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

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

同一数据大并发更新问题

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

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

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

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

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

 

更多网站建设推广资讯,请联系蓝畅客服

 

蓝畅在线客服       

 

关于我们:

Infocode蓝畅信息技术有限公司成功为多家世界财富500强企业以及其他著名品牌提供优质服务,是您靠谱的互联网开发供应商。

服务客户遍及北京、上海、杭州、深圳、广州、天津、青岛、南京、宁波、苏州、无锡、厦门、重庆、西安等大中型城市及地区    为您提供:H5开发,小程序开发,H5外包,微信开发,H5商城开发,小程序商城开发,网站开发外包,H5游戏开发,小程序开发外包,小程序设计、APP开发外包,UI设计,SEO优化,SEO外包,视频后期制作等优质服务

H5游戏开发和网页游戏开发有哪些不同?

本文来自投稿,不代表Infocode蓝畅营销立场,如若转载,请注明出处:https://www.seosetup.cn/1307.html

Like (0)
admin
Previous 2022年5月15日 下午11:34
Next 2022年5月16日 下午11:03

相关推荐

  • 网站制作为什么要制作手机和电脑不同的版本呢?

    网站制作公司为什么要制作手机版本和电脑版本两个不同的网页,而这些网页有什么样的不同? 其实现在的人们都是比较喜欢使用手机的,所以使用手机版本的也比较多,但是电脑版本的一般是在办公室…

    2023年2月19日
    2000
  • 网站建设项目外包需要注意的问题

    现如今,很多的公司都觉得拥有一个属于自己公司的官方网站是非常必要的。 但是并不是所有的公司都会拥有专业的人员来进行网站建设,所以网站建设项目外包则成为了许多公司的首选。 网站建设项…

    2022年11月2日
    2510
  • 企业网站建设中HTML5响应式网站建设的好处

    前端时间去看模板的时候,发现html5网站的模板非常好看、高端大气,很多的企业都应用html5网站来搭建网站,那么为什么很多企业都应用呢?它的好处有哪一些,是怎样的呢?企业网站建设…

    2022年5月11日
    3020
  • 网站建设需要考虑相应的建设成本

    企业在实际管理的时候都会了解各个方面的实际情况,确保了更好的企业发展环境和发展特点,保证了当前的企业综合发展模式,主要可以实现更好的专业合作流程。要提升当前企业的综合发展效益,也会…

    2023年2月21日
    2400
  • 网站优化中SEO关键词和整站优化的区别有哪些?

    网站优化中的关键词优化是什么? SEO行业中所有站长的目标都是对网站关键词进行优化。关键词与全站优化存在一些差异:一是量级不同,一是具体的优化内容。 关键词优化一般是对特定关键字进…

    2022年3月25日
    3090
  • 企业网站引流量的方法有那些?

    什么是引流量大家可能不太清楚,一个网站的引流量是用户能在不同的平台上都能对网站打开进行浏览,并给网站带来更多的曝光机会,企业能够找到符合自己需求的供应商。 网站有很多的引流方式,有…

    2023年1月1日
    2140
  • 网站建设完成后被收录时间分析

    网站建设完成后需要多久才能收录 网站在建设完成后,需要等待几天或者几周的时间才能被收录。 这取决于你的网站有多少内容需要百度收录,以及你的网站内容多么具有价值。如果你的网站内容非常…

    2023年2月23日
    2480
  • 网站建设公司:分析企业网站建设中的跳出率

    企业在搭建网站的时候,关心的是转化情况,在转化的时候,最重要的就是网站的一个跳出率问题,你想如果我们的网站获得了很高的排名,结果由于网站的布局不合理或者没有达到用户理想的状态,那么…

    2022年5月13日
    2920