SpringCloud微服务架构实战手册——从入门到精通全攻略
文摘
职场
2024-03-17 22:40
广东
第 1 章:软件架构
吴灿锦,吉林财经大学2019级本科生,曾作为鹰迅公司CEO,带领鹰迅公司团队在“互联网+”和“挑战杯”等竞赛中斩获3个国家级,11个省部级奖项。在上市公司从事Java开发相关工作已经接近两年了,目前参与了两个千万级用户的分布式系统的开发和维护工作。在做项目期间,对Mysql优化,Redis,RabbitMQ,xxl-job,ElasticSearch,SpringBoot,SpringCloud微服务框架都有比较深入的研究,积累了丰富的实践经验和良好的职业履历。
单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。
分布式架构:根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。1.单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责。
2.服务自治:团队独立,技术独立,数据独立,独立部署和交付。
3.面向服务:服务提供统一标准的接口,与语言和技术无关。4.隔离性强:服务调用做好限流,熔断和降级可以避免出现级联失败和雪崩等问题。
微服务其实是一种经过良好架构设计的分布式架构方案,在分布式架构的基础上进一步降低服务之间的耦合度,提高服务的独立性和灵活性,做到高内聚,低耦合。
SpringCloud是目前国内使用最广泛的微服务框架。https://spring.io/projects/spring-cloud。SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用的效果。
SpringCloud底层是依赖于SpringBoot的,版本的兼容关系如下图所示: