• 大型技术网站的技术( 高并发、大数据、高可用、分布式....)(一)


    面对高并发、大流量、高可用、海量数据、用户分布广泛、网络情况复杂这类网站系统我们如何应对???

    第一阶段   一台服务器不行就上多台服务器

       1.应用程序与数据服务分离

           将应用程序、数据库、文件等资源放在一台服务器上,面对海量用户的访问只可能是崩崩崩的挂掉。

       so?

          我们知道的是应用服务器、数据库服务器、文件服务器这三块对服务器的要求是不同的,应用服务器就需要大大的CPU来处理复杂的业务逻辑,数据库服务器需要快速磁盘检索      和 数据缓存也就是要大内存,而文件服务器要求的是更快更大的内存(上SSD吧)。

       2.来吧 服务器集群

              这里就用到负载均衡了。将用户的访问请求给它分发到服务器集群中的任何一台服务器,如果用户多了就多增加服务器呗,这不就改善了服务器的负载压力了吗?想想谷歌的         服务器。用户辣么多,越来越多,那就上更多的应用服务器,这样应用服务器就不会成为网站系统的瓶颈了。

    第二阶段     你光上硬件这样很成本高啊,来点技术的方式吧

             1.上缓存

               大部分用户的业务访问集中在一小部分数据上,辣么我们就可以把这小部分数据放在内存中,你要用就从内存中拿这样的话,数据库的压力就小很多了,系统响应速度也就快         了。

             缓存又分为本地缓存和远程分布式缓存,本地缓存肯定快啊,但你应用服务器的内存毕竟有限,缓存的数据量有限,所以三思啊。远程分布式缓存,部署专门的大内存服务器          为缓存服务器,这样来吧用户你来把,我内存大不怕。

              问题又来了,你数据访问没问题了,但你单一服务器处理的请求连接是有限的啊,在网站访问高峰期你就压力山大了,但是前面部署弄了服务器集群吗?所以不是问题。

            2.将数据库的读写分离

                配置两台数据库的主从关系,一台专门读,一个专门写。但是这个数据的同步还是比较麻烦的。

            3.反向代理服务器

                本质就是缓存,请求来了,我这个反向代理服务器中有,就直接给你返回。

            4.花样繁多的分布式

                拆分数据库放,拆分文件系统等等。。。

    你一直说自己没努力,那你努力100%试一下啊。你的天空你不想飞一下吗?
  • 相关阅读:
    连阿里大神都畏惧的高可用风险
    CI/CD工具选型:Jenkins还是GitLab CI/CD?
    KCP协议学习
    独家揭秘:SQL Server AlwaysOn在阿里云的突破
    几款Windows与Linux双机热备软件推荐
    Dotfuscator Professional Edition 4.96 版的使用教程
    缓存和数据库一致性问题
    华为V5服务器iBMC远程管理系统 干货技术总结
    SQLServer高可用方案在企业生产环境的实践
    微服务拆分之道
  • 原文地址:https://www.cnblogs.com/boy4j/p/7591915.html
Copyright © 2020-2023  润新知