前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【JavaP6大纲】SpringCould篇:常用组件底层实现

【JavaP6大纲】SpringCould篇:常用组件底层实现

作者头像
Java廖志伟
发布2021-04-13 16:28:30
3020
发布2021-04-13 16:28:30
举报
文章被收录于专栏:高级开发进阶

常用组件底层实现?

Eureka是微服务架构中的注册中心,专门负责服务的注册与发现。 服务中都有一个Eureka Client组件,这个组件专门负责将这个服务的信息注册到Eureka Server中。 Eureka Client告诉Eureka Server,自己在哪台机器上,监听着哪个端口。 而Eureka Server是一个注册中心,里面有一个注册表,保存了各服务所在的机器和端口号。 Eureka Client把这些相关信息从Eureka Server的注册表中拉取到自己本地缓存起来

Feign直接就是用注解定义一个 FeignClient接口,然后调用那个接口就可以了, Feign Client会在底层根据你的注解,跟你指定的服务建立连接、构造请求、发起靕求、获取响应、解析响应。

Ribbon每次请求时Ribbon默认使用轮询算法进行负载均衡选择一台机器,均匀的把请求分发到各个机器上。 Eureka Client里获取到对应的服务注册表,也就知道了所有的服务都部署在了哪些机器上,在监听哪些端口号。 然后Ribbon就可以使用默认的Round Robin算法,从中选择一台机器,Feign就会针对这台机器,构造并发起请求。

Hystrix是隔离、熔断以及降级的一个框架。Hystrix会搞很多个小小的线程池,比如订单服务请求库存服务是一个线程池, 请求仓储服务是一个线程池,请求积分服务是一个线程池。每个线程池里的线程就仅仅用于请求那个服务。 订单服务可以正常调用库存服务扣减库存,调用仓储服务通知发货。积分服务挂了,直接对积分服务熔断,比如在5分钟内请求积分服务直接就返回了,不要去走网络请求卡住几秒钟,这个过程,就是

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/04/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 常用组件底层实现?
相关产品与服务
微服务引擎 TSE
微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档