浅谈架构的演进阶段

文章目录

1.单机架构

出现在互联网的早期,访问量比较小;

输入这个taobao.com之后,但是域名并无法告知是哪个服务器,这个时候就会需要进行这个dns转换,这样我们的浏览器或者服务器就会找到这个门牌号,对于这个服务器进行访问;

放到这个端口绑定的应用服务之后,应用服务:你要干什么?我们:查一下你的这个里面有什么商品,你等一下,我查一下,这个数据库服务查询之后返回结果,应用服务收到信息直接返回给我们的用户;

dns只会在最开始告诉我们门牌号,后来我们的应用服务直接回返回给这个浏览器或者这个app被我们的用户看到;

优点和缺点:

1)部署简单且使用的成本比较低;

2)存在性能的瓶颈(用户的请求量会不断的增加,慢慢的就扛不住了),应用服务和数据库服务之间相互进行这个资源的竞争(访问的时候转转,访问的速度变慢);

其他事项:

1)初创公司使用,用户的访问量比较低,及时挂掉也影响不大;

2)dns转换主要是这个应用上提供的,我们直接使用;

2.应用数据分离架构

工作的原理:

优缺点:

1)成本相对可控;

2)性能相比于单机架构有所提高;

3)数据库单独隔离,不会因为我们的应用数据库坏的时候,数据库挂掉,使得我们的这个数据库有容灾能力;

4)但是相对于我们的海量的并发,还是扛不住;

5)因为这个时候两个服务器是分离的,所以消耗的这个硬件的资源就会变多;

3.应用服务集群架构

3.1基本分析

出现的原因:

1)请求量变大,因此我们需要加多应用(否则这个相应的速度就会越来越大);

3.2技术案例分析

3.3有缺段分析

可以进行横向的扩展,支持海量的请求;

但是这个mysql成为了性能的瓶颈,而且这个硬件的成本增加;

4.读写分离架构

4.2技术案例:

1)主数据库接收到这个写的内容之后,会进行同步到我们的这个从数据库上面的;

4.3优缺点的浅谈

读写的性能提高;

出现异常挂掉的时候,会出现主从数据库里面的内容不一致的情况;

热点数据读取的时候仍然会让这个数据库里面的这个负载很高;

5.冷热分离架构

5.1简单介绍

5.2过程分析

秒杀的案例分析:写入的过程

我们的商家想要发布这个秒杀的商品项目,第一步还是进行这个dns的转换,把这个域名转换为我们的ip地址,方便我们去进行这个对应的写入的过程;

这个写入需要写入两份,一份是给我们的这个缓存服务器的,另一份是给我们的这个存储服务器的,两个写入的过程先后顺序是任意的,但是需要保证同时写入成功,或者都写入不成功,不然就会出现这个数据库的数据内容不一致的情况;

我们的合格主数据库写入之后就会给我们的这个从数据库进行这个写入数据的同步,这个时候我们的商家就把这个秒杀的项目完成了这个上架的过程;

如果我们的这个用户进行访问:

访问的如果是我们商家的这个秒杀的项目,这个时候执行的就是这个红色的路径,因为这个时候这个秒杀的内容就是在我们的这个缓存里面存放着的,这个时候访问之后就可以直接获取到了,这个里面的数据就是一些这个热点的数据;

相反,如果这个用户访问的是这个不是很热的数据,也不是我们的这个秒杀的项目,这个时候就会执行我们的这个绿色的操作,这个时候依然回去到这个缓存里面去寻找,只不过这个时候没有找到,所以我们时候就回到我们的从数据库里面去找,找到这个相关的商品的信息,然后把这个信息显示在用户的这个浏览器上面,让我们的这个用户获取到;

5.3技术案例

我们的这个缓存可以使用我们的redis;

5.4优缺点浅谈

业务体量的变大导致这个数据量进一步增加,这个时候我们的数据库里面的单表的容量就会进一步变大,使得我们的这个数据库再一次成为这个性能的瓶颈;

6.垂直分库架构

6.1 简单介绍

演示:不管你的这个背后是是什么,我就是把你当作一个表进行看待,但是实际上这个背后是一个数据库集群;

7.微服务架构

我们的不同的微服务之间是进行相互的关联和协作的;

8.容器编排架构

9.总结

满足业务需求就可以了,不一定必须动不动就上微服务;

一千个读者的心目里面由一千个哈姆莱特,不同人的理解和这个架构的演进的阶段的理解是不一样的,有自己的这个理解和体会即可;

相关推荐
未来之窗软件服务3 小时前
终端优先同步架构终端场景下轻量化、高可用通信模型-东方仙盟
架构·东方仙盟·阿雪技术观·网络震荡·dns污染·数据中继器·边界网关
坐看风云变幻9 小时前
《系统架构师成长之路》第 8 期|微服务:单体拆分的时机、粒度与通信
微服务·架构·系统架构
Figo_Cheung11 小时前
Figo潜空间层级认知理论:基于齐夫拓扑与黎曼几何的结构化模型研究
人工智能·架构·空间计算
洞见前行11 小时前
用 Tinker 热更新反向实现插件化:两个独立 APK 合二为一的原理详解
架构
这个DBA有点耶11 小时前
分布式集群的“最后一公里”:分片集群与透明分布式集群的工程代价拆解
数据库·分布式·架构
another heaven14 小时前
【C/C++ C++ 面向对象架构的五大特点与能力场景:封装、继承、多态、抽象与 RAII(含实战案例)】
c语言·c++·架构
微订校园外卖平台15 小时前
乡镇外卖跑腿代办系统怎么选:四端架构与实施核对
架构·外卖系统·本地生活·微订
这个DBA有点耶15 小时前
测试全绿,上线三周数据没入账——那个95%的兼容度报告,漏掉的是边界
数据库·mysql·架构
X54先生(人文科技)16 小时前
ELR-SELLM_硅基伙伴通过对话碰撞个性涌现的推理架构_v10
人工智能·深度学习·架构·零知识证明
鱼儿也有烦恼16 小时前
客户端应用架构模式
android·架构