文章目录
本节课你将会学到什么是spring cloud,spring cloud常用组件,微服务架构介绍,了解spring cloud和微服务架构的关系。
1什么是微服务
系统以业务来划分将传统的一站式应用,拆分成一个个的服务,彻底去耦合,一个微服务就是单功能业务,只做一件事。例如常见的电商平台,订单模块划分为订单微服务,商品模块划分为商品微服务,用户模块划分为用户微服务。
2什么是spring cloud
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
3spring cloud与spring boot的关系
- SpringBoot:专注于快速方便的开发单个个体微服务(关注微观)
- SpringCloud:关注全局的微服务协调治理框架,将SpringBoot开发的一个个单 体微服务组合并管理起来(关注宏观)
- SpringBoot可以离开SpringCloud独立使用,但是SpringCloud不可以离开SpringBoot,属于依赖关系
4spring cloud常用组件
4.1spring cloud config
服务配置中心,将所有的服务的配置文件放到本地仓库或者远程仓库,配置中心负责读取仓库的配置文件,其他服务向配置中心读取配置。Spring Cloud Config使得服务的配置统一管理,并可以在不人为重启服务的情况下进行配置文件的刷新。
4.2spring cloud Netflix
它是通过包装了Netflix公司的微服务组件实现的,也是Spring Cloud核心组件,包括Eureka,Hystrix,Ribbon,Feign,Zuul,Archaius。
4.3spring cloud bus
消息总线组件,常和Spring Cloud Config配合使用,用于动态刷新服务的配置。
4.4spring cloud consul
该组件是Spring Cloud对Consul的封装,和Eureka类似,它是一个服务注册和发现组件。
4.5spring cloud sleuth
SpringCloud应用程序的分布式请求链路跟踪,支持使用Zipkin、HTrace和基于日志(例如ELK)的跟踪
4.6spring cloud stream
轻量级事件驱动微服务框架,可以使用简单的声明式模型来发送及接收消息,主要实现为Apache Kafka及RabbitMQ。
4.7spring cloud task
用于快速构建短暂、有限数据处理任务的微服务框架,用于向应用中添加功能性和非功能性的特性。
4.8spring cloud gateway
API网关组件,对请求提供路由及过滤功能。
4.9spring cloud feign
基于Ribbon和Hystrix的声明式服务调用组件,可以动态创建基于Spring MVC注解的接口实现用于服务调用,在SpringCloud 2.0中已经取代Feign成为了一等公民。
5个人说明
经验是由一点一点积累的,思维也是由一天一天训练出来的。
6我的个人网站
持续更新分享此项目电商在线演示地址为:演示地址
持续更新分享此项目微服务架构项目实战(开发中…)