网络架构及其演变过程
Python从入门到放弃完整教程目录:https://www.cnblogs.com/nickchen121/p/10718112.html
一、单机架构
应用领域:
- 植物大战僵尸
- office
二、CS架构
应用领域:
- 大型网络游戏
计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端。
客户端:用户安装的软件;
服务端:统一管理数据库的主机中的软件就叫做服务端,再后来服务端不只是管理数据,外加处理业务逻辑。
2.1 CS架构要求
- 用户操作系统安装客户端;产商操作系统部署服务端
- 每个用户需要独立安装软件、服务端升级也要每个用户升级
2.2 面试题:数据放在服务端和客户端的利与弊?
答:
- 服务端统一处理有更好的安全性和稳定性而且升级比较容易,不过服务器负担就增加了。
- 客户端将负担分配到每个用户,从而可以节约服务器资源,安全性和稳定性可能会有一定的问题,但是升级比较麻烦,每个安装的客户端程序都需要升级,另外为了节省网络资源,通过网络传输的数据应该尽量减少!
三、BS架构
应用领域:
- 淘宝
- 京东
统一客户端即默认安装用户电脑中的浏览器,访问同种类的网站,具体业务的处理根据相应协议和标准提供通用的服务器程序,在不同的服务器处理。
3.1 两种BS架构
OSI主要用于教学(万恶的大学、绿本的计算机书),我们在编程的时候用的都是TCP/IP。
TCP/IP的对应关系,就像我们在淘宝购物,所在位置有的快递(网络接入层),告诉卖家地址(网络互联层)、快递送货(运输层)、收到货物拆包使用(应用层)。
注意:对于广泛使用的东西就需要制定相应的标准,就像大公司有很多制度来规范做事情的流程。由于网络传输应用非常广泛,但是规矩不是强制性的,所以叫做协议而不是标准,TCP/IP参考模型也可以看做是一种协议。BS结构中TCP/IP模型中的网络接入层没有响应的协议,网络互联层是IP协议,传输层是TCP协议,应用层是HTTP协议,另外还是用到了DNS结构,而且在HTTP上层还有相应。
基于BS结构下的程序就要求解决速度问题,而速度问题的核心就是解决海量数据操作和高并发问题,网站复杂架构就是从这两个问题演变出来的。