浅谈架构的演进阶段

文章目录

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.总结

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

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

相关推荐
ai小鬼头6 小时前
AIStarter如何助力用户与创作者?Stable Diffusion一键管理教程!
后端·架构·github
掘金-我是哪吒9 小时前
分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南
java·分布式·微服务·云原生·架构
国服第二切图仔9 小时前
文心开源大模型ERNIE-4.5-0.3B-Paddle私有化部署保姆级教程及技术架构探索
百度·架构·开源·文心大模型·paddle·gitcode
SelectDB10 小时前
SelectDB 在 AWS Graviton ARM 架构下相比 x86 实现 36% 性价比提升
大数据·架构·aws
weixin_4373982111 小时前
转Go学习笔记(2)进阶
服务器·笔记·后端·学习·架构·golang
liulilittle11 小时前
SNIProxy 轻量级匿名CDN代理架构与实现
开发语言·网络·c++·网关·架构·cdn·通信
喷火龙8号12 小时前
深入理解MSC架构:现代前后端分离项目的最佳实践
后端·架构
Codebee12 小时前
“自举开发“范式:OneCode如何用低代码重构自身工具链
java·人工智能·架构
掘金-我是哪吒12 小时前
分布式微服务系统架构第158集:JavaPlus技术文档平台日更-JVM基础知识
jvm·分布式·微服务·架构·系统架构
JohnYan13 小时前
模板+数据的文档生成技术方案设计和实现
javascript·后端·架构