开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(三)

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
注册配置 MSE Nacos/ZooKeeper,182元/月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
简介: Spring Cloud微服务架构设计与开发实战课时1.3—微服务架构Microservice的优缺点 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!

哈喽各位同学们大家好呀,小编今天带着开发者学院中课程微服务架构的优缺点”干货总结来了~一起学习新课程吧!

课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇

课程名称:微服务架构Microservice的优缺点

课程地址:https://developer.aliyun.com/learning/course/60/detail/1106?spm=a2c6h.21258778.0.0.72ae43db9RXbsI

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java?spm=a2c6h.21110250.J_5703890090.6.700e3c67EjOBeJ


微服务架构Microservice的优缺点


一、微服务Microservice优点 

(一)微服务特点:快速响应需求变化 

服务架构诞生在SOA时代在移动互联网时代蓬勃发展崛起,从早期的互联网公司开始,快速过渡到现在的移动互联网公司,都在大量使用微服务架构包括大家熟悉的淘宝、微博、微信、抖音等平台,都是很典型的代表。微服务架构很重要的特点就是:快速响应需求变化业务迭代非常快,每月甚至每周都会有大量的改版信息 

之前在采用单体巨型非微服务架构有个问题,系统里面的业务模块非常多,大家一起发布、修改、编译很难进行协调可能是几千人的开发团队很难做到敏捷开发发布上线。 

使用微信、微博、淘宝、抖音超过5年会感受到,迭代非常快,而且经常上线新功能,比如支付之前支付担保交易现在可以在上面交水电费、做地铁、城市健康码功能等。淘宝的各种新功能,比如生鲜、直播等。抖音之前只做短视频,现在也开始做电商,可以评论、加好友等等。 

总的来说,之前单体巨型架构模式,已经无法适应快速变化的业务发展需求。快速响应需求变化微服务架构的重要特点。 

微服务:船小好调头 

微服务本质上是小微程序相比较来说很重要的特点拆分概念微服务首先是拆分,把大的拆成小的,把整体拆成部分每个部分单独开发迭代,很重要的优势,在中国书画里面叫船小好调头 

中国是公有制为主体私有制作有效补充的经济体制结构。而且私有企业民营企业要求船小好调头能够更灵活的根据市场需求调整经营策略。比如现在的全民电商、全民直播,是业的微型化敏捷化的表现形式我们的微服务是一样的道理,各个领域有很多概念相通 

微服务优点 

微服务优点拆完以后更灵活,各个子系统可以独立开发、独立测试、独立部署、独立进程,最后在集成。 

image.png 

比如账号系统比较稳定,基本上不用改前期有三五个成员开发,后需要一个人维护后面新业务,比如淘宝直播菜鸟快递余额宝项目上线,再成立新的团队,进行快速开发。现在很多项目都是前期只有一个小组,后面再组建团队上线很多新的功能,比如微信,从腾讯内部孵化出来前期只成立了很小的项目组,后期做成上万人的公司。支付宝也是淘宝内部孵化的项目。这种公司成立以后,又开始孵化出更多的业务部门 

独立开发拆分以后自主性更强了独立开发、独立测试、独立部署、独立进程微服务快速响应业务需求变化的重要特点。 

 

(二)特点二:敏捷开发、敏捷运维DevOps 

早期20年前提出敏捷开发,在微服务时代依然适用,本质上就是“快”,提升开发运维的效率,快速响应用户的需求 

传统软件公司为什么不适合大量推广微服务,比如工厂的管理软件,用VB开发,用wondows xp wondows 7都可以直接解决问题,20年不变,这个项目不用敏捷开发也行,开发完成后用两个成员维护着。业务非常稳定,没有发展,或只在某个阶段平稳发展,比如银行系统,国内四大银行,早期的Java系统基本上都是oracle或DB2框架开发,基本上都不会改,因为很多代码封装在存储过程中改的话容易出问题。新项目可能开始微服务架构,拆分出独立的数据库,独立架构 

微服务架构的优点 

微服务架构的优点本质上就是拆完以后更好开发。通常HTTP协议,能信使用语言中立协议等,优点和缺点是相对某个技术架构的,不是绝对的。 

总结如下: 

1. 易于替换 

2. 独立部署 

3. 专注某个任务 

4. 高度解耦 

5. 基于功能进行组织:商品、支付、评论、机票、新闻、酒店、游戏等 

6. 服务可以使用不同的语言、系统、平台 

7. 通信使用语言中立的协议 

8. 通常是http 

9. 独立技术 

10. 易于测试 

 

 

 

 

巨型服务VS微服务 

早期的单体巨型服务,分层架构,适用于比较稳定的系统,比如银行系统,现在还在使用。随着业务的发展变化,可以更换新的架构。微服务架构非常灵活,合适迭代发展快的项目,比如当下流行的电商业务。 

image.png 

 

二、微服务Microservice缺点 

微服务不是银弹 

微服务并不适合所有的场景,因为一旦拆开,通信成本就会上升,架构复杂度会上升,开发人员需要更多,集成测试、部署都会变得更复杂,所以技术选型一定要慎重。 

微服务的优缺点 

合格的架构师,应该公司业务需求作为出发点,但是很多架构师设计架构的时候,实际并不是这样有很多其他因素在,会设计不可维护的架构。比如为了对外宣传、便于接到业务,年长的架构师担心被公司,设计不可维护的架构等。 

正常情况下,需要从成本、复杂度、测试、监控等方面出发,架构服务。如果业务快速创新的公司选择微服务架构,如果业务比较稳定的公司可以选择单体架构或者早期的架构 

微服务 

① 开发简单 

② 技术灵活 

③ 协议简单 

④ 服务独立无依赖 

⑤ 独立按需扩展 

⑥ 可用性高 

⑦ 高伸缩性 

⑧ 易于维护单一服务 

微服务缺点 

① 架构复杂 

② 多服务运维难度 

③ 系统部署依赖 

④ 服务间通信成本 

⑤ 数据一致性 

⑥ 系统集成测试 

⑦ 重复工作 

⑧ 性能监控 

相关文章
|
2月前
|
Java 数据库 数据安全/隐私保护
Spring Boot四层架构深度解析
本文详解Spring Boot四层架构(Controller-Service-DAO-Database)的核心思想与实战应用,涵盖职责划分、代码结构、依赖注入、事务管理及常见问题解决方案,助力构建高内聚、低耦合的企业级应用。
805 1
|
2月前
|
Kubernetes Java 微服务
Spring Cloud 微服务架构技术解析与实践指南
本文档全面介绍 Spring Cloud 微服务架构的核心组件、设计理念和实现方案。作为构建分布式系统的综合工具箱,Spring Cloud 为微服务架构提供了服务发现、配置管理、负载均衡、熔断器等关键功能的标准化实现。本文将深入探讨其核心组件的工作原理、集成方式以及在实际项目中的最佳实践,帮助开发者构建高可用、可扩展的分布式系统。
422 0
|
4月前
|
存储 Java 数据库连接
简单学Spring Boot | 博客项目的三层架构重构
本案例通过采用三层架构(数据访问层、业务逻辑层、表现层)重构项目,解决了集中式开发导致的代码臃肿问题。各层职责清晰,结合依赖注入实现解耦,提升了系统的可维护性、可测试性和可扩展性,为后续接入真实数据库奠定基础。
429 0
|
6月前
|
Java 开发者 Spring
Spring框架 - 深度揭秘Spring框架的基础架构与工作原理
所以,当你进入这个Spring的世界,看似一片混乱,但细看之下,你会发现这里有个牢固的结构支撑,一切皆有可能。不论你要建设的是一座宏大的城堡,还是个小巧的花园,只要你的工具箱里有Spring,你就能轻松搞定。
260 9
|
5月前
|
负载均衡 Java API
基于 Spring Cloud 的微服务架构分析
Spring Cloud 是一个基于 Spring Boot 的微服务框架,提供全套分布式系统解决方案。它整合了 Netflix、Zookeeper 等成熟技术,通过简化配置和开发流程,支持服务发现(Eureka)、负载均衡(Ribbon)、断路器(Hystrix)、API网关(Zuul)、配置管理(Config)等功能。此外,Spring Cloud 还兼容 Nacos、Consul、Etcd 等注册中心,满足不同场景需求。其核心组件如 Feign 和 Stream,进一步增强了服务调用与消息处理能力,为开发者提供了一站式微服务开发工具包。
621 0
|
Cloud Native Java 对象存储
面向未来的架构设计:Spring Cloud和Netflix OSS在云原生环境下的发展趋势
展望未来,随着5G、边缘计算等新技术的兴起,微服务架构的设计理念将会更加深入人心,Spring Cloud和Netflix OSS也将继续引领技术潮流,为企业带来更为高效、灵活且强大的解决方案。无论是对于初创公司还是大型企业而言,掌握这些前沿技术都将是在激烈市场竞争中脱颖而出的关键所在。
256 0
|
10月前
|
XML Java 开发者
Spring底层架构核心概念解析
理解 Spring 框架的核心概念对于开发和维护 Spring 应用程序至关重要。IOC 和 AOP 是其两个关键特性,通过依赖注入和面向切面编程实现了高效的模块化和松耦合设计。Spring 容器管理着 Beans 的生命周期和配置,而核心模块为各种应用场景提供了丰富的功能支持。通过全面掌握这些核心概念,开发者可以更加高效地利用 Spring 框架开发企业级应用。
329 18
|
9月前
|
传感器 监控 安全
智慧工地云平台的技术架构解析:微服务+Spring Cloud如何支撑海量数据?
慧工地解决方案依托AI、物联网和BIM技术,实现对施工现场的全方位、立体化管理。通过规范施工、减少安全隐患、节省人力、降低运营成本,提升工地管理的安全性、效率和精益度。该方案适用于大型建筑、基础设施、房地产开发等场景,具备微服务架构、大数据与AI分析、物联网设备联网、多端协同等创新点,推动建筑行业向数字化、智能化转型。未来将融合5G、区块链等技术,助力智慧城市建设。
476 1
|
10月前
|
搜索推荐 NoSQL Java
微服务架构设计与实践:用Spring Cloud实现抖音的推荐系统
本文基于Spring Cloud实现了一个简化的抖音推荐系统,涵盖用户行为管理、视频资源管理、个性化推荐和实时数据处理四大核心功能。通过Eureka进行服务注册与发现,使用Feign实现服务间调用,并借助Redis缓存用户画像,Kafka传递用户行为数据。文章详细介绍了项目搭建、服务创建及配置过程,包括用户服务、视频服务、推荐服务和数据处理服务的开发步骤。最后,通过业务测试验证了系统的功能,并引入Resilience4j实现服务降级,确保系统在部分服务故障时仍能正常运行。此示例旨在帮助读者理解微服务架构的设计思路与实践方法。
641 17

热门文章

最新文章