[编辑]结构无处不在。今天,我们邀请《大型分布式网站架构设计与实践》一书的作者陈康贤分享对大型网站结构的理解。另外,我正在采访陈康贤。如果读者有什么问题,请在本文下面的评论中留言,或邮寄CSDN编辑钱书光qianshg@c。
下面是正文。
大型网站体系结构不是预定义的体系结构,而是进化的体系结构。从最简单的LAMP体系结构、基于IOE的大规模集中式应用程序体系结构,到今天的分布式应用程序体系结构,很少有站点因大规模站点的所有属性而不变。随着站点用户规模的增长,体系结构也在发展。从实体机到虚拟机,从现在流行的Docker技术,从独立房间到同一个城市多机房,到异地,各种分布式中间件(如服务框架、分布式消息队列、配置管理中间件、分布式数据访问层)
规模不断扩大,但成本不能线性增加,因此利用规模效应降低资源成本,提取共同部分,避免重复制造车轮,提高开发效率和响应速度成为必须考虑的问题。技术的核心价值是为了提高生产力,如果技术体系结构限制了生产力发展,就需要技术变革。目前支撑大型网站的几项核心技术,分布式、服务化、虚拟化,其中分布式解决是规模化问题,所谓的规模化,即数据规模增加、访问量增加、开发团队规模增加、工程代码规模增加。独立存储容量和负载容量的限制,从PC到小型机、中型机器、大型机,成本呈指数增长,数百人开发同一个项目,系统膨胀,开发、发布效率极低,互联网失去了生存的灵活性,可能会回到现有软件的开发模式。通过应用垂直分割,不仅可以通过群集分布式水平扩展提高系统容量,还可以将存储和负载分配给大规模、低成本的群集,从而降低成本,改变开发效率和开发模式。通过公共业务提取,系统底层的基础服务将诞生,避免相同内容的重复车轮,提高开发效率。作为大型网站体系结构中最重要的中间件,服务化框架简化了与服务调用相关的对象序列化和反序列化、通信协议、服务路由等任务,以及后来诞生的新名词,即服务治理。整理服务依赖关系、呼叫链接、强弱依赖等更复杂的问题。此外,建筑师的武器库中还有很多在各种应用场景中使用的中间件,包括消息中间件、分布式数据访问层、配置管理中心、数据迁移工具、分布式文件系统等。这些中间件是日常系统体系结构的粘合剂。大型网站的另一个关键技术是资源虚拟化。从物理系统到Xen、KVM、基于LXC的轻量级虚拟化方案,再到Docker,技术更换提高了资源利用率,群集的操作、部署和管理变得越来越容易。另外,从多个场景中选择存储的方法也很重要。高并发和大数据可能会有很大差异,具体取决于您使用的是磁盘、SSD还是内存、分布式文件系统、关系数据库、NOSQL还是内存分布式高速缓存。可以理解为分布式文件系统存储容量几乎是无限的,但吞吐量较低。关系数据库具有严格的方案和强大的SQL语句,可以满足各种复杂的查询条件,但为了处理高并发读写访问,需要主从关系、读写分离、扔分区表、工作量增加、查询维限制以及引入垂直搜索引擎来扩展查询。
大企业比小企业反应速度快的原因是大企业积累太多,有时积累太多会成为负担,现有模式很难快速整合新业务。遇到问题和挫折的时候,当你想到改进和系统变化的时候,没有一个系统在设计后永远不改变代码。技术总是在发展,需求和市场也在不断变化。因此,不要指望用一个体系结构满足所有要求。系统设计需要满足一段时间的可扩展性,但千万不要过度设计,对于系统体系结构来说,在一段时间内,体系结构的进化往往会经历清晰、模糊、重构、清晰和模糊的过程。市长/市场环境总是变化很快。因此,系统设计应遵循扩张开放、修正封闭的原则。这使您能够及时轻松地访问新流程。从宏观上看,各个系统之间的关系不是烟囱和烟囱的关系,而是像城市的高楼大厦一样通过道路连接在一起的,因此,要想加快盖房子的速度,就要充分利用现有的基础设施、现有的中间件,降低系统建设的成本和风险。体系结构设计的多个层次,没有体系结构,体系结构,关注解决现有问题,也称为体系结构。一个好的架构应该是能够约束开发者,解放开发者,让他们专注于功能的设计。尽量使复杂的事情变得简单,不要使简单的事情变得复杂,技术决不是迷惑的,而是用来解决实际问题的。所以我们不用绣球。洛克希德马丁著名的飞机设计师凯利约翰逊提出的接吻原则是最好的解释。(阿尔伯特爱因斯坦,《Northern Exposure》(美国电视剧),《艺术》)以风险为中心的体系结构概念说,避免失败是所有工程技术的核心,体系结构也是技术,使用体系结构技术来减轻风险和避免极端是建筑师最根本的责任。
作者简介:陈康贤(华明龙论,博客),淘宝技术部技术专家,著有《大型分布式网站架构设计与实践》本书,在分布式系统架构设计、高并发系统设计、系统稳定性保证等领域积累了丰富的实践经验,对新技术越来越感兴趣。
(责任汇编/钱曙光,体系结构和算法领域关注,欲征求文章或投稿,请发电子邮件qianshg@c,微信qshuguang2008,公司职位说明)
包括许多知名互联网公司的大牛建筑师,如“CSDN首席架构师组”、SDCC 2015体系结构专业领域讲师等。如果想进行集团交流,请添加微信qshuguang2008加入集团,注释公司职位。
1.《关于csdn网站我想说漫谈大型网站架构》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《关于csdn网站我想说漫谈大型网站架构》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/1953210.html