架构第四周 - 学习总结
本周学习主要围绕分布式系统架构演化,以及实际架构案例演进的分析。
20年前,刚好事新世界开始的时候,那个时候的技术主要参考微软、Orace、IBM等巨头的方案,主要针对的就是如银行、大型零售企业、企业级ERP系统,随着几年之后互联网时代的来临,对系统架构自然有了新的挑战。
互联网项目要求:高并发、高可用、安全性、需求快速迭代等。
对应的技术架构也有了相应的演化:
第一阶段:应用数据的分离
第二阶段:使用缓存改善系统性能。
第三阶段:应用服务器集群+负载均衡,改善系统的并发处理能力。
第四阶段:DB读写分离+主从复制+故障转移
第五阶段:反向代理+CDN加速网络响应
第六阶段:分布式DB system+分布式File System
第七阶段:Nosql+搜索引擎
第八节段:业务拆分(RPC+MQ)
第九阶段:微服务及中台化
第十阶段:大数据及AI
互联网架构的演化自然也有互联网架构的模式,所谓模式,也就是套路。如下:
系统分层,比如横向拆分、纵向拆分
分布式部署
集群部署
缓存加速
异步处理
冗余数据
自动化运维
安全防控
在中国互联网时代,最具有代表性的就是淘宝的架构之路,淘宝在2003年买了一个外国的php网站自己改造之后就上线运行,而在以后的十几年中,淘宝的技术走上了一条快速迭代更新的道路。从2003年的集群+LAMP+mysql读写分离的架构,到最近几年的微服务架构,从Php开发语言到java开发语言,从使用外国研发中间件到自研分布式中间件,再到开源项目,一路走来称为中国互联网技术的领军企业,达摩院、平头哥,到各种孵化企业,阿里为中国的互联网技术的发展做出了很大贡献。
虽然技术很重要,但是技术并不是目标,在这个过程中,淘宝也曾聪明的选择使用成熟框架或中间件,也曾使用垂直升级硬件的方式应对业务增长带来的挑战,而不是自己去研发,这说明技术就是要服务于业务的,因为业务可以产生价值,而技术是工具,服务于业务来间接产生价值,同样让我再次意识到:技术必须能解决实际问题,技术要变现才有意义。
作为个人来讲,关注技术方案本身意义其实也不大,利用简单的架构照样有可能支撑大流量,高并发的访问,就比如维基百科,使用Mysql+lvs+Php+memcached+squid+GeoDns这些平常的不能再平常的技术,依然让维基百科称为能够支撑全球第6大访问量的网站。所以,其实关注问题比关注答案更有价值。
版权声明: 本文为 InfoQ 作者【J.Spring】的原创文章。
原文链接:【http://xie.infoq.cn/article/f7de264c36c866f489466454f】。文章转载请联系作者。
评论