《产品经理学技术》读书笔记③技术模型的变化

1、单机时代

单机时代-all in one

优点:简单快速,易于开发,易于测试,易于部署;

缺点:也非常显著,只适合早期项目,变大后不易维护,且存在单点,升级需要停服;

最初形态,应用程序的功能集中在一起。

《产品经理学技术》读书笔记③技术模型的变化_第1张图片

单机时代-分层架构

优点:结构简单,分工明确,分层测试,如果不知道用什么,推荐用它;

缺点:拓展性差,迭代开发效率低,有时候层次过多导致流程复杂;

对应用程序功能进行分层,使得开发人员能进行同步开发,提高生产力。

《产品经理学技术》读书笔记③技术模型的变化_第2张图片

单机时代-数据分离

优点:资源分散,提高不同服务对硬件的利用率,方便维护;

缺点:增加了资源消耗和网络开销,同时还存在单点;

使用多台服务器,避免不同服务之间抢占资源。

《产品经理学技术》读书笔记③技术模型的变化_第3张图片

单机时代,缓存登场

优点:简单有效,减少对DB的查询;

缺点:增加逻辑判断,不适合储存大对象,此架构同样有单点;

将频繁访问的东西放到缓存,减少服务器的压力。

《产品经理学技术》读书笔记③技术模型的变化_第4张图片

单机时代-读写分离

优点:降低数据库单台压力,从机的数量可以灵活变更;

缺点:架构开始变得复杂,维护难度加大;

将数据库的读写进行分离,设置主从库,主库负责写入,从库负责读取,主从库按时进行同步和复制。

《产品经理学技术》读书笔记③技术模型的变化_第5张图片

3、集群时代

集群时代-负载均衡

优点:去除应用层单点,可用性得到保证,性能有所提高。

缺点:这时候要注意应用之间的一致性问题,比如对缓存的访问,对Session的存储。

通过增加调度器,对请求进行分发,减少服务器访问压力。

《产品经理学技术》读书笔记③技术模型的变化_第6张图片

集群时代-动静分离

优点:减轻应用服务器压力,缓存静态文件,加快相应速度,前后端分离,开发可以并行;

缺点:静态文件缓存更新失效问题,前后端沟通成本提高;

动静分离是将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。

《产品经理学技术》读书笔记③技术模型的变化_第7张图片

集群时代-CDN加速

优点:解决网络带宽小,用户访问量大、网点分布不均等问题,提高用户访问的响应速度,减轻应用负载压力;

缺点:显然成本上去了,CDN服务一般是按流量计费,同时也存在静态文件缓存更新失效问题;

在不同地方建立不同节点,通过CDN解决网络带宽小的问题,减轻应用负载压力。

CDN加速将网站的内容缓存在网络边缘(离用户接入网络最近的地方),然后在用户访问网站内容的时候,通过调度系统将用户的请求路由或者引导到离用户接入网络最近或者访问效果最佳的缓存服务器上,有该缓存服务器为用户提供内容服务;

《产品经理学技术》读书笔记③技术模型的变化_第8张图片

集群时代-冗余集群

每一项都增加机器。最大的好处是高可用确保没有单点,避免某一项出现问题时影响全局。

《产品经理学技术》读书笔记③技术模型的变化_第9张图片

4、分布式时代

伴随着DT/分布式时代的到来,大流量和大数据的场景的出现,对应用提出了更高的要求,接下来就需要对应用程序开刀了。

应用拆分-解耦

消息队列-提高吞吐量

数据分库

为服务架构

你可能感兴趣的:(《产品经理学技术》读书笔记③技术模型的变化)