一个项目的架构演进

1,单体架构

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

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

存在以下几个问题

1,提升的性能是有限的

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

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

2,垂直应用架构

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

存在以下问题

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

3,分布式应用架构

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

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

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

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

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

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

4,微服务架构阶段

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

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

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

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

相关推荐
t***p93516 小时前
业务架构、数据架构、应用架构和技术架构
架构
G***E31617 小时前
PHP微服务通信消息队列实践
微服务·云原生·架构
稚辉君.MCA_P8_Java18 小时前
通义 Go 语言实现的插入排序(Insertion Sort)
数据结构·后端·算法·架构·golang
语落心生18 小时前
探秘新一代向量存储格式Lance-format (十三) 数据更新与 Schema 演化
架构
语落心生18 小时前
探秘新一代向量存储格式Lance-format (八) Dataset 核心实现与生命周期
架构
D***t13118 小时前
云服务在在线游戏中的架构
游戏·架构
语落心生18 小时前
探秘新一代向量存储格式Lance-format (十一) Scanner 与查询执行
架构
语落心生18 小时前
探秘新一代向量存储格式Lance-format (九) 索引系统架构与向量搜索
架构
语落心生18 小时前
探秘新一代向量存储格式Lance-format (十) Fragment 与数据分片
架构
语落心生18 小时前
探秘新一代向量存储格式Lance-format (十二) 数据写入流程
架构