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

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

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

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

(0)
上一篇 2022年5月15日 下午11:34
下一篇 2022年5月16日 下午11:03

相关推荐

  • 新的网站需要这样去做网站优化

    今天和大家分享一下搜索引擎的优化技巧,新的网站需要怎样去做网站优化,具体要做什么。 新的网站什么东西都没有的,所以需要去填充很多东西,做一些利于百度蜘蛛爬取,让网站有足够多的优质文…

    2022年5月24日
    310
  • 企业网站进行改版升级,究竟是怎样的呢?

    随着互联网的不断发展,企业网站建设在不断的进行改版升级,企业网站的搭建成本一般比较高,所以开始时网站大部分是一些模板网站,还有就是一些操作不恰当导致网站的一些问题。 企业网站进行改…

    2022年5月11日
    310
  • SEO优化公司:有哪些站内优化,如何提升网站权重

    网站优化主要分为站内和站外优化,所谓:“内容为王,外链为皇”足可以见其中的重要性,刚搭建好网站,这个时候需要的就是做网站的站内优化,那么站内优化有哪些呢?如何来提升网站的权重? 做…

    2022年5月9日
    650
  • 网站建设公司:网站建设过程中有哪些流程?

    网站建设公司在制作网站的时候,是有一套网站建设的流程操作的,那么网站建设的流程究竟是怎样的呢? 网站建设流程: 1、企业选域名选择一个好的域名应该从从搜索引擎和用户的角度出发,选择…

    2022年5月16日
    310
  • 网站建设公司:分析企业网站建设中的跳出率

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

    2022年5月13日
    470
  • SEO优化公司:SEO优化思维有哪些?

    大多数人在做事情的时候,如果是比较简单的就会很得意或者不屑去做,如果遇到一些比较困难的事情时,就会害怕或者选择退缩。 在搜索引擎优化时也是如此,一般seo人员对网站优化总是轻描淡写…

    2022年4月28日
    730
  • 新人做网站建设的基本步骤有什么?

    新手搭建网站的时候,是很陌生的,要花很长的时间,主要是网站建设的步骤不清楚,缺少实战经验。 接下来谈谈关于新手做网站的基本步骤有哪些? 注册网站域名 选择一个好的域名对于网站建设来…

    2022年5月6日
    360
  • SEO网站优化实战之提升网站权重

    网站权重对于网站的重要性,如何提升网站权重?又有哪些seo技术提升网站权重? 网站权重 网站权重可以理解为搜索引擎对于网站给予的一个重要性程度。 网站权重就是一个网站在搜索引擎那里…

    2022年4月26日
    470