SpringCloud的一些记录

引言

刚刚看了某位大佬(这位大佬的图片被我拿下来了,也不好意思删除水印,就这样吧)的笔记,讲的SpringCloud源码结合图片实在是详细,为了把他的知识转换成自己的,让自己印象更深刻,才写下这篇随笔。

正文

一、业务场景介绍:

在这里插入图片描述

二、SpringCloud的组件

SpringCloud有五大核心组件,分别是EurekaRibbonFeignHystrixZuul。其作用分别是:

1,Eureka:用于服务的注册与发现,Eureka Client负责提供服务并拉去服务的注册表,Eureka Server负责接受服务并把注册表发送给Eureka Client。Eureka的精妙在于,其发送注册表的操作全都是在内存中完成的,而且因为多级缓存的存在,使得客户端能及时获取到注册表,多级缓存查询顺序为:**ReadOnlyCacheMap–>ReadWriteCacheMap–>内存中获取实际的注册表数据

2,Ribbon:核心功能就是负载均衡,使得Feign明确地知道访问哪个服务,它的算法为经典的Round Robin算法(也就是轮询算法)。
在这里插入图片描述

3,Feign:我们在一个业务,如果涉及到请求多个服务,难道我们要每个服务都要自己去写一个HTTP请求过去?那也太LOW了吧!所以,Feign帮我们完成了这一步骤,关键机制就是使用了动态代理,Feign会根据RequestMapping分析出当前服务所需要的请求,并帮助我们构建起这些请求的链接。

在这里插入图片描述

4,Hystrix:在微服务的架构里,一个业务往往涉及到多个服务,所以为了防止雪崩效应,servlet资源耗尽,会选择Hystrix进行服务的隔离、熔断和降级。
隔离:每一个服务都有自己单独的线程池;
熔断:服务之间都互不影响;
降级:如果真的服务出错,有另外的解决方案,例如,我订单生效了,积分系统崩溃,从而我的积分没有加上去,这时候,生成一条记录用以后期人工加分。

在这里插入图片描述

5,Zuul,所有请求都往网关走,网关会根据请求中的一些特征,将请求转发给后端的各个服务

总结

在这里插入图片描述
由于我是看大佬写的随笔,所以我默认是转载,希望大家也多多支持这位大佬,最后附上原创文章的链接:

拜托!面试请不要再问我Spring Cloud底层原理

最后:祝大家开开心心每一天

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值