Spring Boot&Spring Cloud入门总结

Spring Boot&Spring Cloud入门总结

Eureka:服务注册与发现中心,用于服务管理。

Feign: web调用客户端,能够简化HTTP接口的调用。

Ribbon:基于客户端的负载均衡。

Hystrix:熔断降级,防止服务雪崩。

Zuul:网关路由,提供路由转发、请求过滤、限流降级等功能。

Config:配置中心,分布式配置管理。

Sleuth:服务链路追踪

Admin:健康管理

初识Spring Boot&Spring Cloud

Spring Boot是一个简化配置的、集成许多组件技术的、能够快速、简单的将我们创建的项目运行起来的一个东西,在我的理解中它就是一个能使我们创建的项目快速启动的一个启动器,在我们传统创建的SSM项目中,我们要运行起这个项目(能简单的返回一个页面),那我们最少也需要配置web.xml文件,如果我们加入SSM框架,那么我们还需要配置好几个配置文件,我们的项目才能运行起来,而使用Spring Boot来构建项目,我们要想简单的使项目运行(返回一个简单的页面),那么我们什么也不需要配置,直接就可以运行,使用Spring Boot,即使我们的项目非常复杂,需要的配置文件也非常的少,因为它的主要思想就是让项目快速启动,它的底层做了许多的自动化配置,只要我们按照它的使用规则来,那么我们需要的配置就很少。

Spring Cloud是一个集合了许多分布式架构中使用到的技术组件的大集合,可以这么说它整合了在分布式架构中各个点上的许多技术,再结合其强大的Spring生态,让我们在使用Spring Cloud做分布式架构系统时得心应手,做到简单快速。

总的来说,Spring Boot能让我们基本不做配置文件就能很快速的启动一个项目,Spring Cloud集成了分布式开发的整个过程中用到的技术,让我们用它就能非常快速的实现一个分布式架构的系统。

Spring Cloud分布式架构中的一些关键性的组件

Eureka

服务注册与发现中心Eureka,它实现服务的注册与发现,整个系统所有的服务提供者与服务消费者都连接它,当有新服务上线后会向它报告自己提供的服务是什么,通过这种方式实现服务的注册;而服务消费者可以拿到整个系统提供的服务列表,从而实现服务的发现与调用,服务提供者与服务消费者通过心跳的方式与eureka连接,服务提供者与消费者每隔一段时间就会发送自己的心跳给Eureka,保证连通性。

调用者

服务消费者端的一些组件Feign|Open Feign、RestTemplate、Ribbon、Hystrix。Feign|Open Feign、RestTemplate提供远程服务的调用,Ribbon做客户端的负载均衡,Hystrix做容错功能。

Open Feign是在Feign的基础上支持了Spring MVC注解的功能,它支持面向接口的服务调用方式,也是我们常用的一种方式,简单理解面向接口的服务调用可以这么说:我们将所有的服务都写在一个接口里,然后加上注解,当请求到达时,我们只需要调用接口对应的方法就可以发起远程HTTP的调用,框架会动态的生成代理类来做具体的实现;最简答的一种理解,Feign就是一个发起HTTP请求调用的东西。RestTemplate也是一种远程调用的技术,Feign的底层实现就是它。

Ribbon

Ribbon做客户端的负载均衡,它默认提供了好几种负载均衡的策略,可以通过配置文件等形式改变它的负载均衡策略,Feign整合了它,当发起远程调用的过程中会用到它。它获取服务列表是通过Eureka客户端,可以这么说Ribbon的底层实现中有Eureka客户端,Eureka客户端可以获得Eureka服务器上的服务信息,它将其拿到本地供其他组件使用。

Hystrix

Hystrix客户端的一个容错组件,它可以保证我们的分布式系统的可用性、友好性,它主要有3个层面的功能,第一,熔断,我们可以设置某个服务的访问阈值,当访问达到阈值时其他人就不能再访问该服务;第二,降级,当我们的服务不可用或有问题时,它可以提供给访问者一些相关的信息,给出一个友好的回复;第三,隔离,系统的各个服务之间相互隔离,互不影响,可通过信号量机制或线程池实现,隔离可以保证服务的可用性。

Zuul

网关Zuul,一般情况下,我们的服务时部署在内网中的,我们不会将服务直接暴露在外网中,在这种情况下,网关就随之诞生了。它一端连接外部,一端连接内部,在它这我么可以完成用户鉴权、路由转发、请求过滤、灰度测试等功能。

Sleuth

链路追踪Sleuth,链路追踪即跟踪整个服务的调用过程,它经过了哪些服务、耗时多久、网络延迟是多少等信息都可以拿到,我们可以追踪整个服务的调用过程做出最合理的配置,当然当我们的服务出现问题时我们也可以通过链路追踪信息作出相应的判断。

Admin

健康检查Admin,这个组件和actuater配合可以拿到各服务的许多本地节点信息,当我们服务宕掉后,可以利用这个组件给我们对应的人员发送邮件来告知服务出问题,相当于一个实时的监测系统。

配置中心

配置中心,对于微服务架构的系统来说,它会存在许多的微服务节点,每个微服务的运行必定有着相应的配置文件,我们不可能手动的在每一台机器上做配置文件的修改配置,而配置中心正是解决这个问题的一种解决方案,我们将我们需要的一些共有的配置信息上传到git或其他的服务器上,配置中心能够实时的获取到这些配置,然后将这些配置信息交给我们的服务(所有的服务都与配置中心相连接),这样通过配置中心就可以将配置文件批量的传给对应的服务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值