04什么场景要用到微服务

一句话导读

根据微服务的特点,可以总结为在构建复杂的、大型的、分布式的、高可用、高并发、高性能的应用时可以使用微服务架构。

目录

一句话导读

一、微服务适用场景

1.业务复杂,模块多且相对独立

2.团队多,管理隔离

3.应用规模大,并发用户多

4.快速迭代、持续交付

5.技术栈多

二、总结


一、微服务适用场景

从我们上次《02单体应用真的是地狱吗》这篇博客中可以看到,在小王和小任公司业务不断发展,他们最初的单体应用已经很难适应当前的发展速度了,他们已经开始考虑做应用架构的变更重构了。

那么对于他们来说,业务越来越复杂,模块越来越多,团队也越来越大,部署迭代越来越难,修改、测试都非复杂、扩展快要达到上限。针对这些困难,我们对标微服务的特点,不难发现,当前他们转型微服务是一个不错的选择。

我们可以简单总结下微服务适应的场景:

1.业务复杂,模块多且相对独立

当公司业务越来越复杂,单体应用的模块越来越多,而且模块之间是可以相互独立,能够专注独立的一个领域的,能够相互解耦,将复杂问题分解成多个简单问题。

2.团队多,管理隔离

公司团队越来越多,每个团队都有自己的管理方式,各自负责独立的模块或者领域。相互开发进度、维护应用都是可以相互隔离的,实现团队自治,提高开发效率

3.应用规模大,并发用户多

微服务可以横向分布式扩展,能够应对应用规模的不断扩大,可以应付海量用户增长

4.快速迭代、持续交付

当业务需求不断变化,需要频繁地发布新功能和更新时,微服务架构可以实现快速的开发、测试和部署,支持持续交付和持续集成。

5.技术栈多

微服务的实现不依赖于技术栈的选型,可以是不同技术栈开发应用,只要能够对外提供统一的接口服务即可

二、总结

只有当业务规模发展到一定程度,业务复杂度对于单体应用很难应付的时候,拆分出来的模块能够相对独立解耦且可以独立迭代交付时。我们可以考虑采用微服务架构设计,总之,选择微服务架构时,需结合实际需求和团队技术水平,权衡利弊,合理规划和设计微服务架构。

相关推荐
风象南1 小时前
SpringBoot中6种自定义starter开发方法
java·spring boot·后端
mghio10 小时前
Dubbo 中的集群容错
java·微服务·dubbo
uhakadotcom12 小时前
视频直播与视频点播:基础知识与应用场景
后端·面试·架构
沉登c15 小时前
第 3 章 事务处理
架构
阿里云云原生15 小时前
LLM 不断提升智能下限,MCP 不断提升创意上限
云原生
阿里云云原生15 小时前
GraalVM 24 正式发布阿里巴巴贡献重要特性 —— 支持 Java Agent 插桩
云原生
咖啡教室15 小时前
java日常开发笔记和开发问题记录
java
咖啡教室15 小时前
java练习项目记录笔记
java
鱼樱前端16 小时前
maven的基础安装和使用--mac/window版本
java·后端