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

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

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

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月6日
    920
  • 细节决定SEO网站优化效果好坏

    千里之堤毁于蚁穴,任何的小问题都会改变事情的最终结果。 搜索引擎优化也是如此。许多优化人员关心整体结构,看到大问题,小问题却容易忽视。一旦被忽视,就很容易导致最终的失败。 网站也可…

    2022年4月11日
    1000
  • 如何引导搜索引擎蜘蛛

    搜索引擎蜘蛛为什么需要靠引导,而不是佛系优化。 seo技术实质就是一种提升网站的不足方面,运用到各种操作,其中引蜘蛛也是比较核心的一种操作。网站想要获得关键词排名,首先是需要对于网…

    2022年4月26日
    1540
  • 企业网站建设过程中容易忽略的问题

    随着互联网时代的快速发展,越来越多的企业网站诞生,用来包装公司实力的证明,通过网站来给自己带来用户。但是随着网站的层出不穷,网站的质量也是越来越低了,就存在很多的问题,接下来我们就…

    2022年5月18日
    1070
  • 定制网站开发设计风格是根据内容设计的

    定制网站开发设计风格是根据内容做设计的。不同内容,就需要不同的设计风格。 网站定制是根据内容做设计的 网站定制是根据内容做设计的,这意味着网站的设计师需要了解网站的内容和目标受众,…

    2023年1月31日
    160
  • 微官网是什么?有什么开发流程?

    什么是微官网呢?如何开发微官网呢? 微官网是一种跨平台的营销型网站,他能有效兼容iOS、android、WP等各大操作系统,可以方便的与微信、微博等应用链接。微信其实相当于是一个浏…

    2023年1月2日
    590
  • SEO优化小白如何进行网站优化

    很多SEO小白总是说自己不懂SEO,不知道怎么去做网站优化。没有谁天生就掌握了SEO技术,都是通过学习、实战以及总结来掌握。 那么SEO小白应该怎么入手呢,大家可以按照下面的三个步…

    2023年1月15日
    220
  • 企业网站在做SEO优化时需要避免的一些错误操作

    SEO优化早已成为各大网站运营者必不可少的工作,使用SEO优化为企业获得网站排名,能够提升企业赢利,实现非常好的营销推广作用。 很多站长在做企业网站SEO优化工作时,往往会忽视一些…

    2022年10月24日
    230