04什么场景要用到微服务

一句话导读

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

目录

一句话导读

一、微服务适用场景

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

2.团队多,管理隔离

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

4.快速迭代、持续交付

5.技术栈多

二、总结


一、微服务适用场景

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

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

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

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

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

2.团队多,管理隔离

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

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

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

4.快速迭代、持续交付

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

5.技术栈多

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

二、总结

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

相关推荐
AugustRed9 分钟前
A2UI 完整学习指南(含 Java 后端 + 前端实战示例)
java·开发语言·前端
程序猿乐锅13 分钟前
【MySQL | 第五篇】 MySQL 性能分析:如何查询慢 SQL
java·sql·mysql
lee_curry17 分钟前
tomcat+springmvc+spring源码流通过程
java·spring·tomcat·springmvc
w1wi17 分钟前
【兼职】边学边练的AI网站
java·人工智能·ai·ai编程·ai写作
basketball61618 分钟前
C++进阶:1. 引用折叠规则
java·开发语言·c++
404号扳手22 分钟前
Java 进阶知识(七)
java·后端
小马爱打代码30 分钟前
Spring框架:介绍和快速入门
java·后端·spring
糖果店的幽灵32 分钟前
LangChain 1.3 完全教程:从入门到精通-Part 7: Documents(文档处理)
java·python·langchain
阿狸猿33 分钟前
论多源数据集成及应用
架构
Java_2017_csdn38 分钟前
Java 策略模式(Strategy Pattern)-(三)
java·开发语言·servlet