一个项目的架构演进

1,单体架构

垂直升级:4核16GB -> 8核64G

水平扩展:一台服务器扩展成多台

存在以下几个问题

1,提升的性能是有限的

2,更新,维护成本非常高,对于系统中要修改或增加的功能,整个发布的流程非常麻烦

3,某一模块出现bug,就会影响整个系统

2,垂直应用架构

根据业务边界拆分服务,每一个功能称为一个服务,将应用拆分成互不相干的几个应用(不涉及到多个服务之间的通信)

存在以下问题

1,公共部分要部署多份,对公共部分的修改,部署,更新都需要重复的操作(例:用户管理模块每个服务都需要有相应的业务代码,而且对应增删改查后各模块都需要同步更新),带来比较大的成本,为了解决这一问题,接下来就进入分布式应用架构阶段

3,分布式应用架构

在这个阶段里,将服务内部公用的模块抽取出来,部署成独立的服务,那么需要解决服务之间高效的通信问题

rpc协议:规定了数据的格式和传输的方式

分布式应用架构阶段涉及到的问题:

1,服务越来越多,服务如何被发现

2,服务越来越多,服务如何被治理

3,服务之间如何实现高效的通信

4,微服务架构阶段

微服务架构阶段主要解决的几个问题:

1,服务的注册和发现:这么多服务如何注册,这么多服务如何被发现

2,服务之间的高效调用:使用rpc或者http进行通信

3,服务治理:服务权重,负载均衡,服务熔断,限流等等一些服务治理方面的问题

相关推荐
吴建旭 智宅焕4 小时前
智能家居全国交付计价模型的设计与实现:按天包干与交付确定性架构
架构·智能家居
Experience-摆渡5 小时前
Agent 持久记忆引擎 Hindsight:分层记忆架构与 Token Budget 机制拆解
架构
星航夜空的帆舟5 小时前
OceanBase源码架构总览
架构·oceanbase
guslegend5 小时前
脚手架入门:必要性、核心功能与执行原理
前端·架构·node.js·脚手架·前端工程化
弈栈录6 小时前
Spring Cloud 微服务架构:注册中心、配置中心与网关
java·spring cloud·架构
TechLee6 小时前
Go 泛型统一 API 响应设计的最佳实践
后端·架构·go
weixin_750330236 小时前
AI获客技术选型:基于OPC架构的智能营销方案实践
人工智能·架构·ai获客
新鲜势力呀6 小时前
PHP 日志系统实战:从排查线上故障困难到 ELK日志分析 + 链路追踪 + 实时监控完整架构方案
elk·架构·php
代码山河6 小时前
Java学习路线图:2026年最新版,从入门到架构师
java·学习·架构·教程·面向对象·项目
欣欣之王来了7 小时前
Python入门:Jupyter Notebook安装与使用指南
学习·架构·面向对象·项目·python教程