微服务 Spring Cloud小结

目录

spring cloud 介绍

一、Eureka 注册中心:

要学会的四条运行机制:

1、注册:  

2、拉取:

3、心跳:

4、eureka存在自我保护模式:

二、Ribbon 负载均衡、请求重试

两个功能:

1、负载均衡(必须)

2、重试(根据需要):

三、Hystrix  容错和限流工具

容错:

熔断:

四、五、Hystrix dashboard 和 Turbine 都是监控工具(对业务,系统运行无影响)

1、Hystrix dashboard 是仪表盘:

2、Turbine 是聚合监控:

六、 Feign 是集成的工具(集成远程调用和集成Ribbon)

1、集成远程调用:

2、集成Ribbon:

七、Zuul  API 网关

提供了四个功能: 

1.作为统一的一个调用入口 :

2.统一的权限校验:

3.也可以集成Ribbon:

4.集成Hystrix:

八、Config 配置中心

需要的几条配置:

1.连接git仓库:

2.向eureka注册一下

九、Bus 消息总线(来做配置刷新用的)

1、功能:

2、流程:

十、Sleuth+Zipkin 链路跟踪


spring cloud 介绍


        1.spring cloud 是一系列框架的集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。

        2.给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包

        3.使用 spring cloud 一站式解决方案能在从容应对业务发展的同时大大减少开发成本,在目前五花八门的分布式解决方案中提供了标准化的、一站式的技术方案
 

一、Eureka 注册中心:

要学会的四条运行机制

1、注册:  

  • 一直反复注册直到成功

2、拉取

  •  30s拉取一次,刷新注册表

3、心跳

  • 30s一次心跳  (这三条对于一般注册中心来说,一般都会有这三条)(注册消息30s有效)

4、eureka存在自我保护模式:

在网络不稳定的时候,如果15分钟,85%的服务器出现心跳异常,就会自动进入自我保护模式,等网络恢复会自动退出我自我保护模式,恢复到正常模式。

二、Ribbon 负载均衡、请求重试

两个功能

1、负载均衡(必须)

2、重试(根据需要):

  • 一般不单独使用 Ribbon,而是在 Feign 或 Zuul 当中集成 Ribbon

三、Hystrix  容错和限流工具

容错:

容错通过降级的方式来实现

  • 降级:当调用后台服务失败,不能返回正常的结果 ,就执行降级代码,通过降级代码来返回降级的结果。 

熔断:

  •      熔断是因为流量太大,当流量增大,大量的访问,都去调用后台的服务,造成后台服务的故障,只要达到这个条件(10秒20次请求,50%失败),就会断开连接(通过Hystrix断路器实现),这样后续的访问会直接在前面模块执行降级,直接返回降级结果,不再调用后台服务,这种现象的请求称之为短路请求。从而限制后台服务的流量,减轻压力,等什么时候恢复正常了,会在半开状态下尝试发送一次客户端调用,(这一次的发送不一定能否接收到),如果能发过去了,断路器就会关闭,恢复正常;如果还是发不过去,断路器会继续保持打开状态,继续半开状态,等30s(时间可设定)再次访问,以此类推。

四、五、Hystrix dashboard 和 Turbine 都是监控工具(对业务,系统运行无影响)

1、Hystrix dashboard 是仪表盘

  • 提供一个图表,直接可以在图表界面上来看哪个地方出现故障(哪有降级的情况,哪有因为压力过大出现熔断的情况),通过仪表盘可以直观的看到

2、Turbine 是聚合监控

  • 可以聚合多台服务器的数据,可以把很多台服务器的数据聚合起来交给仪表盘

六、 Feign 是集成的工具(集成远程调用和集成Ribbon)

1、集成远程调用

  • 提供了声明式的客户端接口,从而使集成远程调用更简单(只需定义接口和抽象方法即可,通过注解来配置调用后台的哪个服务哪个路径,提交什么参数)

2、集成Ribbon

  • 没有配置,默认就已经启用了Ribbon 的负载均衡和重试(且有默认的重试参数,是0和1,单台服务器不重试,更换服务器是更换一次

七、Zuul  API 网关

提供了四个功能: 

1.作为统一的一个调用入口 :

  • 如果只当做一个入口来使用,配置很简单:只需要配置一个路由规则即可

2.统一的权限校验:

  • Zuul提供了一个过滤器 Zuul filter通过继承ZuulFilter父类,实现一个过滤器子类,在过滤器中就可以去判断用户的权限,有权限,就继续向后台服务器转发,没有权限,直接返回结果。过滤器也可以集成其他的安全框架Spring Security,oauth2。

3.也可以集成Ribbon:

  • 默认启动了负载均衡(必须)默认不启用重试,重试一般往后放,Zuul 一般在前面

4.集成Hystrix:

  • 默认启用Hystrix,直接开始写降级代码即可(写降级:实现FallbackProvider接口,然后返回降级结果)

八、Config 配置中心

需要的几条配置

1.连接git仓库:

  • 指定git仓库的地址,和仓库里存放配置文件的文件夹,启动类加一个注解@EnableConfigServer

2.向eureka注册一下

九、Bus 消息总线(来做配置刷新用的)

1、功能:

  • 通过Bus,可以输发刷新指令的消息

2、流程:

  • 各个模块加上Bus,
  • 从09config-server 发一条消息到RabbitMQ,然后234 item、user、order来接收消息,收到消息之后,就开始重新连接配置中心刷新自己的配置

十、Sleuth+Zipkin 链路跟踪

Sleuth 用来产生日志,产生日志后,把日志发送到 Zipkin 服务器 分析处理向Zipkin服务器发送是用的RabbitMQ中转发送,产生的日志先发送给消息服务,Zipkin从消息服务来接收,这样来实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值