大型互联网应用建设常用技术方案与手段,主要解决哪些问题?
首先,好的系统、优秀的架构不是设计出来的,而是不断演化出来的;技术的进化是伴随着业务的不断壮大。
随着业务的快速发展,互联网系统的建设中面临着高并发大流量、高可用、海量数据存储应用、多数据机房建设、网络攻击、敏捷开发等等问题。
高并发意味着大量用户访问系统,相应的系统需要为这些用户服务处理,为每个用户创建进程或者线程;而每个进程或者线程都需要耗费宝贵计算机资源如 CPU、内存、磁盘 IO、网络带宽等等。而单台计算机的资源是有限的,所以面对高并发大流量的系统常用的方案有两种;一是垂直伸缩,即提升服务器的性能以获取更大的计算能力;二是水平伸缩,即增加服务器数量构成集群来提升系统的处理能力。后者是互联网应用的常用架构方案,也就是分布式技术。
高可用即要确保应用系统 7 * 24 小时可用,不会因为某台服务器宕机导致整个应用不可用;常用的架构方案是冗余,防止出现单点。
海量数据存储与应用也就是随着业务的壮大,用户产生的数据爆发;对于数据的存储可以结合业务特点进行数据冷热隔离、业务隔离以及常用大数据集群如 Hadoop等;而数据应用则是如何利用现有的数据更好的服务用户,如数据建模构造用户画像以及 AI 算法建模等等。
从技术和架构演化的角度来看,一个系统主要经历如下几个阶段:
应用数据分离
缓存改善系统性能
服务器集群改善系统并发能力
数据库读写分离
反向代理以及 CDN 网络分发
使用分布式文件系统与分布式数据库系统
使用 NoSQL 与 搜索引擎
业务拆分
微服务与中台化
大数据与智能化
版权声明: 本文为 InfoQ 作者【睁眼看世界】的原创文章。
原文链接:【http://xie.infoq.cn/article/ffd468a0530ff4edbfc565f96】。文章转载请联系作者。
评论