04什么场景要用到微服务

一句话导读

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

目录

一句话导读

一、微服务适用场景

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

2.团队多,管理隔离

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

4.快速迭代、持续交付

5.技术栈多

二、总结


一、微服务适用场景

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

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

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

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

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

2.团队多,管理隔离

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

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

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

4.快速迭代、持续交付

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

5.技术栈多

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

二、总结

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

相关推荐
这个DBA有点耶4 分钟前
非关系型数据库到底有几种?键值、文档、列族、图,一篇讲透
mysql·架构·nosql
HZero.chen17 分钟前
Java 匿名类简介
java·匿名类
用户31268748772019 分钟前
Java 泛型擦除到底擦掉了什么?类型安全与桥接方法深度拆解
java
暖焰核心26 分钟前
继承全解——继承、默认成员函数、切片、隐藏与虚继承
java·前端·javascript
君顾134 分钟前
外卖CPS系统开发实战指南:从架构设计到部署全流程解析
java·开发语言·外卖
昇腾知识体系42 分钟前
昇腾 A5 ISA 指令集:文档入口与 mem_bar 等关键指令
人工智能·华为·架构·知识图谱
诚心呈意共享外卖配送系统1 小时前
校园配送系统架构设计:最后100米智能调度与两段接力实践
架构·系统架构·创业创新
奇牙coding1231 小时前
GPT-5.5 升级 GPT-5.6 接入指南:流式调用配置与常见问题
java·网络·gpt·ai
老刘的望远镜1 小时前
AgentScope Java 从零(03):Agent 的记性默认全开,我在第 50 轮翻了车
java·开发语言·javascript
爱读源码的大都督1 小时前
DeepSeek面试官问:多租户 RAG 系统怎样实现细粒度权限控制?
后端·面试·架构