网站架构及其演变过程

一、软件的3大类型

单机软件、BS架构软件、CS架构软件;

单机软件有哪些:画图板、五笔打字等早期的软件;记事本、OFFICE处理软件;

CS架构软件有哪些:QQ、大型游戏软件;

BS架构的软件有哪些:淘宝、京东等互联网公司的网站都是BS架构的;

BS架构的软件有什么好处?

统一的客户端(浏览器),适应性强,只要客户端主机装了浏览器就等访问后台服务器,而且省去了客户端软件的开发成本和麻烦;

CS架构的软件有什么优势?

灵活性强、处理效率高;

二、架构设计是围绕什么展开的,或者围绕什么演进的?

1、架构演变的起点;

2、处理海量数据的需要;

解决办法:缓冲和页面静态化、数据库优化、分离活跃数据、批量读取和延迟修改、读写分离和分布式数据可。

图片发自App
图片发自App
图片发自App
图片发自App

3、并发量高的需求;

应用和静态资源分离、页面缓冲、反向代理、CDN.(一种特殊的集群页面缓冲服务器)

图片发自App

图片发自App

图片发自App
图片发自App

改变底层的协议也不是不可能的,Goolge已经迈出了这一步;

总结:网站架构的整个演变过程主要是围绕大数据和高并发这两个问题展开的,解决的方案主要分为使用缓存和使用多资源两种类型。多资源主要指多存储(包括多内存)、多CPU和多网络,对于多资源来说又可以分为单个资源处理一个完整的请求和多个资源合作处理一个请求两种类型,如多存储和多CPU中的集群和分布式,多网络中的CDN和静态资源分离。理解了整个思路之后就抓住了架构演变的本质,而且自己可能还可以设计出更好的架构。

一个网站具体使用什么样的架构需要根据实际需要做出选择,网站架构并不是竞技场,更不是使用的技术越复杂越好,只要可以满足自己的需要、可以解决自己所遇到的问题就可以了。要想设计出合理的架构首先需要理解每种架构所针对的问题和它背后的本质,只有这样才能真正把架构用做解决问题的工具,而不是为了架构而架构最后问题不一定能解决还浪费了资源。另外在使用复杂架构之前一定要先将自己的业务优化好,这是基础中的基础,非常重要!

无论架构还是协议都要以正确的态度对待,它们都是为了解决特定的问题而设计出来的,我们要认真并且谦虚地学习,不过也不需要将它们当成神圣不可侵犯的东西,它们的本质还是为我们解决问题的工具。另外这些架构、协议以及相关的产品都是经过实际的考验可以解决问题的,不过也并不是说它们就是最优的解决方案,我们只有真正理解了它们所针对的问题才能对它们理解得更透彻、使用得更灵活。

你可能感兴趣的:(网站架构及其演变过程)