项目架构演进

目录

单体架构

集群架构

微服务架构


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

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

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

单体架构

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

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

单体应用架构优缺点:

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

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

集群架构

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

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

缺点:增加了维护成本

微服务架构

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

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

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

相关推荐
qq_343247033 分钟前
单机版认证kafka
数据库·分布式·kafka
神奇小汤圆19 分钟前
上下文协议(MCP)Java SDK 指南
架构
pingzhuyan19 分钟前
微服务: springboot整合kafka实现消息的简单收发(上)
spring boot·微服务·kafka
武子康20 分钟前
Java-199 JMS Queue/Topic 集群下如何避免重复消费:ActiveMQ 虚拟主题与交付语义梳理
java·分布式·消息队列·rabbitmq·activemq·mq·java-activemq
Gavin在路上27 分钟前
dubbo源码之微服务治理的“隐形遥控器”——QOS 机制解析
微服务·架构·dubbo
源代码•宸1 小时前
分布式缓存-GO(简历写法、常见面试题)
服务器·开发语言·经验分享·分布式·后端·缓存·golang
破烂pan1 小时前
2025年下半年AI应用架构演进:从RAG到Agent再到MCP的生态跃迁
人工智能·架构·ai应用
嘻哈baby1 小时前
Nacos服务注册与配置中心实战指南
微服务
A尘埃1 小时前
Java业务场景(高并发+高可用+分布式)
java·开发语言·分布式
Xの哲學2 小时前
Linux NAT 深度剖析: 从设计哲学到实现细节
linux·服务器·网络·架构·边缘计算