springCloud组件以及相应原理

本文详细介绍了SpringCloud的组件,包括Eureka服务发现、Ribbon客户端负载均衡、Hystrix断路器、Zuul服务网关和Config分布式配置。通过案例探讨了各组件在实际开发中的应用,如Hystrix实现熔断机制,Ribbon的负载均衡算法。文章还讨论了SpringCloud组件与其他解决方案如Zookeeper的区别,并提及了Eureka的自我保护机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

springcloud是微服务架构的集大成者,将一系列优秀的组件进行了整合。基于springboot构建,对我们熟悉spring的程序员来说,上手比较容易。

通过一些简单的注解,我们就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。

SpringCloud的组件相当繁杂,拥有诸多子项目。重点关注Netflix

springcloud项目是由多个独立项目集合而成的,每个项目都是独立的,各自进行自己的迭代和版本发布。所以springcloud不方便使用版本号来管理,而是使用版本名。以避免和子项目版本号的冲突。

SpringCloud分布式开发五大组件详解

  • 服务发现——Netflix Eureka(星图(系统名)中有使用,可以在界面上看到相关服务是否启动)
  • 客服端负载均衡——Netflix Ribbon (项目中只配置了ribbon.ServerListRefreshInterval可以调整刷新server list的时间间隔参数)
  • 断路器——Netflix Hystrix(星图中有使用,在对接数据中心接口中封装成切面,实现熔断)
  • 服务网关——Netflix Zuul(部门内部没用网关,因为项目之间没有请求,公司层面后来统一封装了api gateway 。网关服务很多,比如:Zuul、Kong、spring cloud gateway ……,公司封装的Kong,Kong是一个基于Apache License 2.0的开源项目,是一个云原生的快速可扩的分布式微服务抽象层,应用场景为微服务的API网关,类似于spring cloud的zuul。)
  • 分布式配置——Spring Cloud Config(星图中有使用,将几个项目的配置都统一起来,公司封装了一个配置中心使用的是TARS, TARS 是由腾讯捐赠给 Linux 基金会的开源微服务治理框架)
  • 服务间的通信——spring cloud feign:Feign 的初衷是:feign makes writing java http clients easier ,可以理解为一个Http Client。只不过这个http client 对http 请求进行了一个封装。到了Spring Cloud 2.XX 系列版本后,feign 才成为Spring Cloud 下的一级项目

Spring Cloud 中的微服务都是以Http 接口的形式向外提供服务。

提供Http 服务的形式有多种:

  • JDK 原生的URLConnctio
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值