springcloud升级及工程搭建

cloud组件升级

image.png

创建工程

image.png

负载均衡是什么

  • 简单的说就是将用户的请求平摊的分配到各个服务上,从而达到系统的高可用,常见的负载均衡有软件Nginx,lvs,硬件 f5等。
  • Ribbon(负载均衡+RestTemplate) 本地负载均衡,在调用微服务接口的时候,会在注册中心上获取注册服务列表之后缓存到jvm本地,从而在本地实现rpc远程服务调用技术,属于进程内的负载均衡
  • Nginx 是服务器的负载均衡,客户端所有的请求都会交个nginx,即负载均衡是由服务端来实现的。属于集中式负载均衡(在服务消费方和提供方之间使用独立的负载均衡设备,由该设备负责把访问请求通过某种策略转发到服务提供方)

Feign介绍

Feign 旨在使用编写java Http客户端变得更加容易。前面使用Ribbon + RestTemplate 时,利用RestTemplate 对http请求的封装处理,形成一套模板化的调用方法,但是在实际的开发中,由于对服务依赖的调用可能不止一处,往往一个接口会被多处调用,所以通常都会针对每个微服务自行封装一些客户端类来包装这些依赖服务调用。所以,Feign在此基础上做了进一步的封装,有他来帮助我们定义和实现依赖服务接口的定义,在Feign的实现下,我们只需要创建一个接口并使用注解的方式来配置它(类似mybatis中使用Mapper注解)即可完成对服务提供方的接口绑定,简化了使用spring cloud Ribbon时,自动分装服务调用客户端的开发量。
Feign 集成了Ribbon,利用Ribbon维护服务列表信息,并且通过轮询实现客户端的负载均衡。而与Ribbon不同的是,通过feign 只需要定义服务绑定接口且以声明式的方法,优雅而简单的实现服务调用。

Hystrix介绍

  • 服务降级
    服务不可用了,需要给一个兜底的解决方法,向调用方返回一个符合预期的,可处理的备选响应,而不是长时间的等待或者抛出调用方无法处理的异常。这样就保证了服务调用方的线程不会被长时间。不必要地占用,从而避免了故障在分布式系统中的蔓延,乃至雪崩。
    服务降级就是发生异常了,然后走了降级的方法
  • 服务熔断
    类比保险丝达到最大服务访问后,直接拒绝访问,拉闸限电,然后调用服务降级的方法并返回友好的提示。服务如果达到熔断的条件,则服务执行服务降级操作,此时如果是正常的请求也会进入到降级方法,但是熔断器会尝试将小部分的请求放到开是否为正常逻辑,如果是则关闭熔断执行正常的流程。主要有三个状态,Open,Half Open,Closed。
  • 服务限流
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容