Spring Cloud 系列简介
简介:从单体架构到分布式架构,再到微服务架构,一路经历走来spring框架也一直在与时俱进,回顾下来感觉做Java开发就是基于spring开发,spring也一路发展出了spring boot,在此基础上发展出了spring cloud,spring cloud是一个开源项目集合,这个项目集合是一整套微服务解决方案。这系列的文章就是要基于spring cloud把微服务技术讲清楚。
一、总览
如下图所示即为spring cloud组件总览情况:
以上是springcloud体系的各组件,业界比较流行的另一套体系是Spring Cloud Alibaba,这一套体系生态也是非常成熟的。
二、各组件介绍
2.1、spirng cloud体系
Eureka,服务注册中心。业界有很多注册中心产品,如下列表给出了常见的集中注册中心对比信息:
- Zuul,API服务网关,功能有路由分发和过滤。
- Config,分布式配置中心,支持本地仓库、SVN、Git、Jar包内配置等模式
- Ribbon,客户端负载均衡,特性有区域亲和、重试机制。
- Hystrix,客户端容错保护,特性有服务降级、服务熔断、请求缓存、请求合并、依赖隔离。
- Feign,声明式服务调用,本质上就是Ribbon+Hystrix
- Stream,消息驱动,有Sink、Source、Processor三种通道,特性有订阅发布、消费组、消息分区。
- Bus,消息总线,配合Config仓库修改的一种Stream实现,
- Sleuth,分布式服务追踪
2.2、Spring Cloud Alibaba体系
Spring Cloud Alibaba生态也是很成熟的,如下:
-
Dubbo 用于实现高性能Java RPC 通信
-
Nacos 服务注册发现、配置管理、服务管理
-
Sentinel 流量控制、熔断降级、系统负载保护
-
RocketMQ 分布式消息系统,提供低延时的、高可靠的消息发布与订阅服务
-
Seata 高性能微服务分布式事务解决方案
-
Alibaba Cloud OSS 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。
-
Alibaba Cloud SchedulerX 阿里中间件团队开发的一款分布式任务调度产品,支持周期性的任务与固定时间点触发任务。
-
Alibaba Cloud SMS 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。
总结
本文旨在总览一下springcloud微服务体系,后续文章将会对微服务各组件实现细节进行详细的介绍,欢迎大家关注后续文章!