spring cloud微服务体系

本文深入探讨了微服务架构中的关键组件,包括服务注册与发现、服务调用、服务网关以及服务降级熔断策略。服务注册中心维护服务提供者信息,便于服务消费者调用。服务降级和熔断策略确保系统在异常情况下仍能保持稳定,通过配置中心动态更新配置。此外,链路追踪帮助定位服务调用中的问题,提高故障排查效率。
摘要由CSDN通过智能技术生成

微服务涉及组件

  • 服务注册与发现
  • 服务调用
  • 服务网关
  • 服务降级熔断
  • 服务配置中心和服务总线
  • 中间件消息驱动
  • 链路追踪
当下springcloud中的可选方案

服务注册,发现,调用

服务注册中心维护着服务提供者的信息,能使得服务消费者调用。三者关系如下

三者关系

服务注册中心拥有着已注册服务的ip,端口,调用地址等基本信息。通过api可以获取的到全部服务的信息。在程序中,可以通过注入DiscoveryClient来获取服务列表的实例信息。

List<ServiceInstance> instances = 
discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE");

所以我们能简单的能通过ribbon来定义服务调用的规则,是轮询的还是随机的还是带有其他权重的。并且使用restTemplate来调用uri。

服务网关

image

服务降级熔断

服务降级:在发生异常时会有对应的降级方法去代替。可以理解为一级方法处理不了,降级到二级方法处理。使服务产生降级的方式有:服务异常,服务限流。

服务熔断:在过多的降级后,会降级该服务的任何请求,即在熔断期内,该服务所有的调用都被降级方法处理。

在降级在同一时间窗口期中达到设定的比例后会被熔断。而在服务被熔断后,该服务的调用在这个时间窗口中总是会被降级,直到窗口期结束。

例如,在一秒内请求10次,降级比例达到百分之60,就被熔断了。而只有在一秒后才有可能再次请求成功。

而在服务熔断结束后,会处在一个半开阶段。这时如果请求还是失败,会再次进入熔断状态。直到下一个窗口期中首次调用成功后解除熔断状态。

image

服务配置中心和服务总线

将配置保存到配置中心中。服务启动时会到配置中心去获取配置来代替加载本地配置。减少多份相同配置造成的重复修改和配置冗余。并且能动态生效配置的更改。

在spring cloud config和spring cloud bus中,是使用消息订阅的方式来使所有的服务生效更新的配置。如下图

bus通知所有的服务生效配置

链路追踪

在服务调用中,许多服务的调用就形成一条长的调用链,服务越多,链路越长,而在期间产生错误或者整体调用过慢时,需要定位到某个服务来解决问题。

链路追踪的作用则是记录下每次服务间的调用关系和调用耗时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值