<tfoot id='khfk9h1z'></tfoot>
      • <legend id='2n214g7n'><style id='tgha77fb'><dir id='v7tlowq6'><q id='wbgj1uf4'></q></dir></style></legend>
        <i id='e69d4uxh'><tr id='wtox6fkk'><dt id='bo8bpjp9'><q id='9gm9pg0c'><span id='2nb6vplg'><b id='r00alhk7'><form id='2qgwd8x6'><ins id='pzux7xcq'></ins><ul id='2lbif63z'></ul><sub id='6lodpj3h'></sub></form><legend id='ki8cen7e'></legend><bdo id='nhai8vhy'><pre id='x2s3gacq'><center id='fssnycxs'></center></pre></bdo></b><th id='s55g85ft'></th></span></q></dt></tr></i><div id='kwe1dgpi'><tfoot id='ls3npmo4'></tfoot><dl id='0agcuaj7'><fieldset id='dcvqtv38'></fieldset></dl></div>
          <tbody id='se1j809q'></tbody>

        <small id='6zzp0g1h'></small><noframes id='1ivc0j3q'>

        网站建设公司当前位置 : 网站建设公司 > 知识普及

        网站优化的方向

        发布时间:2021-09-26 16:08   浏览次数:次   
        方向
        高内聚、低耦合。便于开发和维护、不同模块分布式部署提高并发能力。
        业务中台重点需要关注的是性能和可用性。伸缩性、扩展性、安全性需要兼顾。
        优化方式
        分层。应用的横向切分,做到分散关注、松散耦合、逻辑复用、标准定义。
        应用层:具体业务和视图展示,和用户直接交互。
        服务层:提供服务支持。
        数据层:提供存储服务,如数据库、缓存、搜索引擎、文件。
        分割。应用的纵向切分,通常按照不同业务划分,专人做专事、不同等级保障。
        分布式。网络稳定性、数据一致性需要考虑。
        包括服务应用、静态资源、数据存储、计算、配置、锁、文件的分布式。
        集群。负载均衡和失效转移提供并发特效和可用性。
        缓存。在数据热点不均匀、数据有一定有效期的情况下使用。
        异步。提高可用性、减少rt、削峰。
        冗余。包括集群备份、冷热备份、灾备数据中心。
        自动化。发布过程、代码管理、安全监测、监控、失效转移恢复、降级、分配资源都可以自动化。
        安全。密码、验证码、加密、过滤、风控等。
        核心要素
        性能
        包括响应时间(rt)、并发数(同时处理的请求)、吞吐量(QPS TPS HPS)、服务器参数(load CPU等)。
        针对链路瓶颈优化。比如gc,redis,db等。
        应用层优化
        浏览器访问优化。
        减少http请求。合并js,css,图片。
        浏览器缓存。
        文件压缩。服务端压缩,浏览器解压,时间换空间。
        css在上,js在下。防止阻塞页面加载:加载完所有css之后渲染,加载js后立刻执行。
        减少cookie传输量。
        CDN加速。缓存静态文件,如css,js,html,图片,视频等。
        反向代理。安全、缓存静态内容、负载均衡。
        服务层优化
        分布式缓存。减少访问时间和计算时间。
        缓存的数据不应频繁修改(读写比>2),有热点访问。
        需要处理实时问题带来的不一致和脏读。
        对于缓存穿透、击穿、雪崩的应对方案。
        需要提高缓存命中率。
        读写分离和代理缓存 解决热key问题。
        本地缓存。项目中使用高性能的Caffeine。
        深入理解caffeine,
        高性能 Java 缓存库 — Caffeine,
        深入解密来自未来的缓存-Caffeine
        异步。消息队列,异步dubbo等。
        集群。提升整体的qps等。
        代码优化。
        多线程。由于IO阻塞和多CPU,提高资源利用率。可以用贫血模型对象、局部对象,注意并发资源处理线程安全问题。
        资源复用。单例和对象池(线程池、数据库连接池等)。
        垃圾回收。合理设置GC参数,尽量减少Full GC,或者G1避免。
        数据层优化
        固态硬盘。
        LSM树更新无需访问磁盘,记录更新的步骤。适合写为主,读操作集中在最近写入数据上。
        参考hbase写入流程。
        HDFS。管理block,每个block至少两个备份。
        NameNode提供元数据服务,管理block分配,相当于FAT。DataNode提供数据服务。
        基于HDFS的Hbase。Hbase的region,Hbase的rowkey。
        可用性
        应用层优化
        无状态性:不保存业务的上下文,只根据请求参数响应。通过session服务器管理状态。
        负载均衡,实现无状态服务的失效转移。
        服务层优化
        负载均衡,失效转移。
        服务分级。高优先级的服务占用更好的硬件资源,部署在不同的宿主机上,甚至异地容灾。
        超时设置。服务方挂掉,超时重试或者使用降级策略。
        异步调用。解耦,不影响调用方。需要调用结果进行下一步操作的不适合异步。
        服务降级。
        拒绝服务。按照优先级或者随机拒绝,降低并发数,保证部分请求成功。
        关闭功能。关闭不重要的功能,减少开销。
        幂等性设计。保证多次调用和一次调用结果相同。
        数据层优化
        CAP原理:一致性,可用性,分区耐受性(伸缩性)。
         
        一致性:多副本时,所有程序访问得到相同的数据。
         
        可用性:任何时候任何程序都可以读写访问,有好的响应性能。
         
        分区耐受性:可跨网络分区线性伸缩,可靠性强。
         
        大型网站通常会牺牲强一致性保证数据的用户一致性,即AP。
         
        数据备份。
        异步热备。例如mysql主从。
        同步热备。存储服务器没有主从之分。
        失效转移。失效确认、访问转移、数据恢复(从健康的服务器复制数据)。
        软件优化
        自动化发布、自动化测试。
        预发布验证。预发机器不配置在对外的负载均衡服务器,或者需要带特定header才能访问。
        灰度发布。
        监控数据采集和管理。如cat监控告警,日志平台等。
        伸缩性
        增加资源规模增加整体的吞吐量。
        应用服务器负载均衡。大型网站通常使用修改mac地址的数据链路层负载均衡——三角传输模式。
        分布式缓存使用一致性hash+虚拟节点。
        存储层。cobar伸缩,hbase的region分裂。
        扩展性
        系统架构层面的开闭原则。需要模块化,并降低模块的耦合、提高模块的复用性。
         

        • <i id='g964j1r9'><tr id='vd3763po'><dt id='bsvw13bx'><q id='zcm0pppq'><span id='n40v5t8d'><b id='kgrkiltv'><form id='t8l852jt'><ins id='kf23poep'></ins><ul id='benp513q'></ul><sub id='6op6sygs'></sub></form><legend id='xrv0z2hi'></legend><bdo id='fnblr684'><pre id='qmku3kby'><center id='voioab8f'></center></pre></bdo></b><th id='kx0wrunm'></th></span></q></dt></tr></i><div id='xa9se2jg'><tfoot id='adwn8pf1'></tfoot><dl id='03iv112n'><fieldset id='58zpuvfj'></fieldset></dl></div>

          <small id='54ydn9xv'></small><noframes id='wb4a27zy'>

          <tfoot id='5l3ytb0q'></tfoot>

            <legend id='t4k4qtn5'><style id='ki5zxpae'><dir id='jnz1vz89'><q id='a6jtynz5'></q></dir></style></legend>
                <tbody id='8jrcrxwl'></tbody>
            • 本文来源于网络,若有侵权请联系3449817223#qq.com,将在第一时间删除。

              下一篇公众号开发下一篇:网站优化的好处
              <tfoot id='t2n9gdnw'></tfoot>
                1. <legend id='nwsf0nb4'><style id='d1mpe0nv'><dir id='dun5b7fx'><q id='vaqaw5yh'></q></dir></style></legend>
                  <i id='8qk22ko6'><tr id='fp9dj372'><dt id='z1lqx75f'><q id='wka4vj96'><span id='vw0b1np3'><b id='ueyulqmg'><form id='256ow747'><ins id='2vb2trl1'></ins><ul id='s2ncvs2m'></ul><sub id='mm7dyw4n'></sub></form><legend id='96h5omj0'></legend><bdo id='h7w3441y'><pre id='saqxbg7p'><center id='nio1vjqp'></center></pre></bdo></b><th id='csh6j4pp'></th></span></q></dt></tr></i><div id='sp9gu4cu'><tfoot id='ntgwvoej'></tfoot><dl id='ggjdoek3'><fieldset id='xlr895j4'></fieldset></dl></div>

                  <small id='7qutzb2p'></small><noframes id='2yqfoelx'>

                    <tbody id='jmjz4pnq'></tbody>