Spring Cloud 是 Spring 技术栈生态很重要的一部分,面向大型网站服务端的开发和架构设计,它以 Spring/SpringBoot 为基础,提供的一系列组件规范和具体实现。
一、概述
Spring Cloud 提供了用于更快速构建分布式系统的基础规范(例如配置中心、服务发现、熔断器等)。基于 Spring Cloud 规范可以快速实现这些组件和功能,我们常用的分布式系统框架实现方案有以下三种:
-
Spring Cloud Netflix(停止维护)
-
Spring Cloud Alibaba
-
Spring Cloud Official(官方组件)
上述实现方案按技术更新时间排序。
文章教程都是基于 Spring Cloud Hoxton.RELEASE 或以上版本。
二、简述分布式系统
在后端服务中,随着业务量的增长,简单的单体服务已经很难满足需求,大型网站往往会演进到微服务分布式架构模式。
从单体服务系统到分布式系统,相当于实例数从 1 到 ∞ 的一次发展,这种量级的扩展,给开发和运维带来了很大难度。
为了解决升级分布式系统带来的问题,于是有了一系列分布式系统的规范和组件,Spring Cloud 既提供了解决方案规范,也提供了开箱即用的落地实现。
分布式系统常用组件:
三、常用组件
Spring Cloud 组件常用的三种实现方案如下,按自己的业务需求选择,没有更好的,只有更合适的。
组件 | Spring Cloud Netflix | Spring Cloud Alibaba | Spring Cloud Official |
---|---|---|---|
配置中心 | – | Nacos | Spring Cloud Config / Spring Cloud Consul |
服务注册 | Eureka | Nacos | Spring Cloud Consul |
路由管理 | Zuul | – | Spring Cloud Gateway |
服务调用 | Feign | Dubbo | Spring Cloud OpenFeign |
负载均衡 | Ribbon | Dubbo LB | Spring Cloud LoadBalancer |
熔断器 | Hystrix | Sentinel | Spring Cloud Circuit Breaker – Resilience4J |
分布式事务 | – | Seata | – |
表格可以左右滑动
其他组件常用实现:
消息队列:Kafka、RocketMQ、Nats
指标监控:Micrometer、Prometheus
链路追踪:Spring Cloud Sleuth、Zipkin
日志采集:ELK 技术栈、FileBeat
本系列 Spring Cloud 教程基于个人以往公司开发经验和官方教程编写。
原文始发于微信公众号(CodeArtist):SpringCloud基础框架介绍
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/137981.html