项目架构演进

目录

单体架构

集群架构

微服务架构


本文主要介绍项目架构演进过程,从简单的单体架构逐步演进到微服务架构,每种架构简要说明了优缺点。

项目架构无所谓好坏,只有适不适合当前的业务,项目架构的标准有很多,本文主要以不同UV指标(本文只说明这一种指标,实际项目架构要综合各类需求指标来判断采用何种技术架构)来说明不同的架构。

UV(Unique Visitor)独立访客,统计1天内访问某站点的用户数(以cookie为依据);访问网站的一台电脑客户端为一个访客。可以理解成访问某网站的电脑的数量。

单体架构

上图中的应用服务器和数据库放到一台服务器中。

上图中的应用服务器和数据库服务器独立部署。

单体应用架构优缺点:

优点:集成方便,易于维护

缺点:服务间依赖较多,项目较大,启动时间长,互相之间会有资源争夺,无高可用。

集群架构

上面架构图中,代理服务器、应用服务采用了集群,数据读写分离,优缺点如下:

优点:可以避免应用单点故障,增加了热点数据缓存Redis,增加了数据库读写分离,提高应用和数据处理能力。

缺点:增加了维护成本

微服务架构

上图架构图中,服务做了拆分,每个服务都是集群,增加了网关,消息队列,注册中心,配置中心,熔断限流组件,监控告警等等组件,优缺点如下:

优点:每个服务独立开发部署和启动,提高数据库性能

缺点:关注的技术点多,如数据一致性问题,各类服务治理的能力,增加了维护成本

相关推荐
WindrunnerMax8 分钟前
浅谈 RAG 并基于 NodeJS 实现基础向量检索服务
架构·node.js·aigc
VisuperviReborn25 分钟前
打造自己的前端监控---前端接口监控
前端·javascript·架构
hello早上好32 分钟前
Spring AOP静态与动态通知的协作原理
后端·架构
工藤学编程1 小时前
深入浅出 RabbitMQ:工作队列实战(轮训策略VS公平策略)
分布式·rabbitmq
chennalC#c.h.JA Ptho1 小时前
iPad os
经验分享·笔记·架构·电脑
DemonAvenger2 小时前
网络代理与反向代理:Go实现详解
网络协议·架构·go
鼠鼠我捏,要死了捏2 小时前
基于Spring Cloud Gateway和Resilience4j的微服务容错与流量控制实战经验分享
微服务·resilience4j·spring cloud gateway
夜斗小神社9 小时前
【黑马SpringCloud微服务开发与实战】(九)elasticsearch基础
elasticsearch·spring cloud·微服务
Wgllss13 小时前
完整案例:Kotlin+Compose+Multiplatform跨平台之桌面端实现(一)
android·架构·android jetpack