一个项目的架构演进

1,单体架构

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

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

存在以下几个问题

1,提升的性能是有限的

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

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

2,垂直应用架构

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

存在以下问题

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

3,分布式应用架构

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

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

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

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

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

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

4,微服务架构阶段

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

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

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

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

相关推荐
jump_jump1 天前
SaaS 时代已死,SaaS 时代已来
前端·后端·架构
一条咸鱼_SaltyFish1 天前
[Day14] 微服务开发中 `contract - common` 共享库的问题排查与解决
程序人生·微服务·架构·开源软件·ddd·个人开发·ai编程
一只鱼丸yo1 天前
从单体到微服务:一次真实迁移实战
微服务·云原生·架构
桌面运维家1 天前
vDisk VOI架构IO瓶颈怎么办?Windows优化实战
windows·架构
Blossom.1181 天前
Transformer架构优化实战:从MHA到MQA/GQA的显存革命
人工智能·python·深度学习·react.js·架构·aigc·transformer
Python_Study20251 天前
制造业数据采集系统选型指南:从技术挑战到架构实践
大数据·网络·数据结构·人工智能·架构
喵叔哟1 天前
8.健康检查与监控
架构·.net
踏浪无痕1 天前
JobFlow 负载感知调度:把任务分给最闲的机器
后端·架构·开源
编程点滴1 天前
高并发与分布式系统中的幂等处理
架构
JZC_xiaozhong1 天前
主数据同步失效引发的业务风险与集成架构治理
大数据·架构·数据一致性·mdm·主数据管理·数据孤岛解决方案·数据集成与应用集成