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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大型技术网站的技术( 高并发大数据高可用分布式....)相关的知识,希望对你有一定的参考价值。

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

 

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

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

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

   so?

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

   2.来吧 服务器集群

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

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

         1.上缓存

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

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

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

        2.将数据库的读写分离

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

        3.反向代理服务器

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

        4.花样繁多的分布式

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

以上是关于大型技术网站的技术( 高并发大数据高可用分布式....)的主要内容,如果未能解决你的问题,请参考以下文章

java架构师大型分布式综合项目实战,高并发,集群,高可用,程序设计,性能优化,架构设计,负载均衡,大数据量

大型网站架构演化

大型分布式网站架构技术总结

技术架构文章汇总

技术架构文章汇总

高并发大访问量架构设计演进之路 归纳总结